{ "cells": [ { "cell_type": "markdown", "id": "39710952", "metadata": {}, "source": [ "# Variational Quantum Eigensolver" ] }, { "cell_type": "markdown", "id": "5e2598a1", "metadata": {}, "source": [ "We provide a Perceval implementation of original photonic Variational Quantum Eigensolver (VQE) from Peruzzo, A. et al. in [1].\n", "\n", "This notebook provides computations of ground-state molecular energies for the Hamiltonian given by the following papers:\n", "\n", "$\\bullet$ A variational eigenvalue solver on a photonic quantum processor [1].\n", " \n", "$\\bullet$ Scalable Quantum Simulation of Molecular Energies [2] .\n", " \n", "$\\bullet$ Computation of Molecular Spectra on a Quantum Processor with an Error-Resilient Algorithm [3]" ] }, { "cell_type": "markdown", "id": "14d8d0b4", "metadata": {}, "source": [ "Importing the necessary packages for the computations:" ] }, { "cell_type": "code", "execution_count": 1, "id": "1e59ecca", "metadata": {}, "outputs": [], "source": [ "from tqdm.auto import tqdm\n", "\n", "import perceval as pcvl\n", "\n", "import numpy as np\n", "from scipy.optimize import minimize\n", "import random\n", "import matplotlib.pyplot as plt\n", "simulator = pcvl.Simulator(pcvl.NaiveBackend())" ] }, { "cell_type": "markdown", "id": "111f0914", "metadata": {}, "source": [ "## Implementation in Perceval\n", "\n", "Here we reproduce on Perceval the 2-qubit circuit used in [1] for VQE.\n", "\n", "We use path encoded qubits.\n", "\n", "Modes 0 and 5 are auxillary. 1$^\\text{st}$ qubit is path encoded in modes 1 and 2. 2$^\\text{nd}$ qubit in modes 3 and 4." ] }, { "cell_type": "code", "execution_count": 2, "id": "22786406", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The circuit is :\n" ] }, { "data": { "image/svg+xml": [ "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "Rx\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "Rx\n", "\n", "\n", "Φ=φ1\n", "\n", "\n", "Φ=φ3\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "Rx\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "Rx\n", "\n", "\n", "Φ=φ2\n", "\n", "\n", "Φ=φ4\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "Rx\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "Θ=1.910633\n", "\n", "\n", "Rx\n", "\n", "\n", "\n", "\n", "\n", "\n", "Θ=1.910633\n", "\n", "\n", "Rx\n", "\n", "\n", "\n", "\n", "\n", "\n", "Θ=1.910633\n", "\n", "\n", "Rx\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "Rx\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "Φ=φ5\n", "\n", "\n", "Φ=φ7\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "Rx\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "Rx\n", "\n", "\n", "Φ=φ6\n", "\n", "\n", "Φ=φ8\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "Rx\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "Rx\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "0\n", "1\n", "2\n", "3\n", "4\n", "5\n", "0\n", "1\n", "2\n", "3\n", "4\n", "5\n", "" ], "text/plain": [ "" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#List of the parameters φ1,φ2,...,φ8\n", "List_Parameters=[]\n", "\n", "# VQE is a 6 optical mode circuit\n", "VQE=pcvl.Circuit(6)\n", "\n", "VQE.add((1,2), pcvl.BS())\n", "VQE.add((3,4), pcvl.BS())\n", "List_Parameters.append(pcvl.Parameter(\"φ1\"))\n", "VQE.add((2,),pcvl.PS(phi=List_Parameters[-1]))\n", "List_Parameters.append(pcvl.Parameter(\"φ3\"))\n", "VQE.add((4,),pcvl.PS(phi=List_Parameters[-1]))\n", "VQE.add((1,2), pcvl.BS())\n", "VQE.add((3,4), pcvl.BS())\n", "List_Parameters.append(pcvl.Parameter(\"φ2\"))\n", "VQE.add((2,),pcvl.PS(phi=List_Parameters[-1]))\n", "List_Parameters.append(pcvl.Parameter(\"φ4\"))\n", "VQE.add((4,),pcvl.PS(phi=List_Parameters[-1]))\n", "\n", "\n", "# CNOT ( Post-selected with a success probability of 1/9) \n", "VQE.add([0,1,2,3,4,5], pcvl.PERM([0,1,2,3,4,5]))#Identity PERM (permutation) for the purpose of drawing a nice circuit\n", "VQE.add((3,4), pcvl.BS())\n", "VQE.add([0,1,2,3,4,5], pcvl.PERM([0,1,2,3,4,5]))#Identity PERM (permutation) for the same purpose\n", "VQE.add((0,1), pcvl.BS(pcvl.BS.r_to_theta(1/3)))\n", "VQE.add((2,3), pcvl.BS(pcvl.BS.r_to_theta(1/3)))\n", "VQE.add((4,5), pcvl.BS(pcvl.BS.r_to_theta(1/3)))\n", "VQE.add([0,1,2,3,4,5], pcvl.PERM([0,1,2,3,4,5]))#Identity PERM (permutation) for the same purpose\n", "VQE.add((3,4), pcvl.BS())\n", "VQE.add([0,1,2,3,4,5], pcvl.PERM([0,1,2,3,4,5]))#Identity PERM (permutation) for the same purpose\n", "\n", "List_Parameters.append(pcvl.Parameter(\"φ5\"))\n", "VQE.add((2,),pcvl.PS(phi=List_Parameters[-1]))\n", "List_Parameters.append(pcvl.Parameter(\"φ7\"))\n", "VQE.add((4,),pcvl.PS(phi=List_Parameters[-1]))\n", "VQE.add((1,2), pcvl.BS())\n", "VQE.add((3,4), pcvl.BS())\n", "List_Parameters.append(pcvl.Parameter(\"φ6\"))\n", "VQE.add((2,),pcvl.PS(phi=List_Parameters[-1]))\n", "List_Parameters.append(pcvl.Parameter(\"φ8\"))\n", "VQE.add((4,),pcvl.PS(phi=List_Parameters[-1]))\n", "VQE.add((1,2), pcvl.BS())\n", "VQE.add((3,4), pcvl.BS())\n", "\n", "# Mode 0 and 5 are auxillary.\n", "#1st qubit is path encoded in modes 1 & 2\n", "#2nd qubit in 3 & 4\n", "\n", "print(\"The circuit is :\")\n", "pcvl.pdisplay(VQE)" ] }, { "cell_type": "markdown", "id": "91a1daa5", "metadata": {}, "source": [ "## Logical input and output states\n", "\n", "Logical states are path encoded on the Fock States." ] }, { "cell_type": "code", "execution_count": 3, "id": "09dba52d", "metadata": {}, "outputs": [], "source": [ "#Input states of the photonic circuit\n", "input_states = {\n", " pcvl.BasicState([0,1,0,1,0,0]):\"|00>\"}\n", "\n", "#Outputs in the computational basis\n", "output_states = {\n", " pcvl.BasicState([0,1,0,1,0,0]):\"|00>\",\n", " pcvl.BasicState([0,1,0,0,1,0]):\"|01>\",\n", " pcvl.BasicState([0,0,1,1,0,0]):\"|10>\",\n", " pcvl.BasicState([0,0,1,0,1,0]):\"|11>\"}" ] }, { "cell_type": "markdown", "id": "d2d1cf4f", "metadata": {}, "source": [ "## Loss function for the variational algorithm\n", "\n", "For a given state $|\\psi \\rangle$ the Rayleigh-Ritz quotient is given by:\n", "$$ \\frac{\\langle \\psi | \\mathcal{H} | \\psi \\rangle}{\\langle \\psi |\\psi \\rangle},$$\n", "This is computed in Perceval by explicitly computing $|\\psi \\rangle$ ( which is the output of the simulated photonic circuit).\n", "Determining the smallest/ground state eigenvalue is done through a variational approach with Rayleigh-Ritz quotient as the loss function.\n", "\n", "Using a classical optimisation algorithm, and the simulations given by Perceval we find the eigenvector which minimises the Rayleigh-Ritz quotient together with its associated eigenvalue ( the ground state eigenvalue), which reprensents the solution of the VQE.\n", "\n", "\n" ] }, { "cell_type": "code", "execution_count": 4, "id": "db3c68e5", "metadata": {}, "outputs": [], "source": [ "\n", "def minimize_loss(lp=None): \n", " # Updating the parameters on the chip\n", " for idx, p in enumerate(lp): \n", " List_Parameters[idx].set_value(p)\n", " \n", " #Simulation, Quantum processing part of the VQE\n", " simulator.set_circuit(VQE)\n", " \n", " # Collecting the output state of the circuit \n", " psi = [] \n", " for input_state in input_states:\n", " for output_state in output_states: #|00>,|01>,|10>,|11>\n", " psi.append(simulator.prob_amplitude(input_state,output_state))\n", " \n", " #Evaluating the mean value of the Hamiltonian. # The Hamiltonians H is defined in the following block\n", " psi_prime=np.dot(H[R][1],psi)\n", " loss = np.real(sum(sum(np.conjugate(psi)*np.array(psi_prime[0]))))/(sum([i*np.conjugate(i) for i in psi]))\n", " loss=np.real(loss)\n", " \n", " tq.set_description('%g / %g loss function=%g' % (R, len(H), loss))\n", " return(loss)\n" ] }, { "cell_type": "markdown", "id": "0f7d26a2", "metadata": {}, "source": [ "## Hamiltonians for VQE\n", "\n", "In this section we define the 3 Hamiltonians given by the 3 papers [1-3]\n", "\n", "Perceval can compute the state vector, which is the output of the photonic quantum circuit, explicitly.\n", "This eliminates the need for using algorithms to estimate the expectation value.\n", "\n", "A Hamiltonian can be written as :\n", "$$\\mathcal{H}= \\sum_{\\sigma }h_{\\sigma}\\sigma$$\n", "where $h_{\\sigma} \\in \\mathbb{R}$ and $\\sigma$ are pauli operators." ] }, { "cell_type": "markdown", "id": "97e78feb", "metadata": {}, "source": [ "### Hamiltonian n°1 [\\[1\\]](https://www.nature.com/articles/ncomms5213)\n", "\n", "Hamiltonian coefficents on the [supplementary paper](https://static-content.springer.com/esm/art%3A10.1038%2Fncomms5213/MediaObjects/41467_2014_BFncomms5213_MOESM1050_ESM.pdf):\n" ] }, { "cell_type": "code", "execution_count": 5, "id": "b3f89652", "metadata": {}, "outputs": [], "source": [ "Hamiltonian_elem = np.array([[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]], #00\n", " [[1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,0,1]], #II\n", " [[0,1,0,0],[1,0,0,0],[0,0,0,1],[0,0,1,0]], #IX\n", " [[1,0,0,0],[0,-1,0,0],[0,0,1,0],[0,0,0,-1]], #IZ\n", " [[0,0,1,0],[0,0,0,1],[1,0,0,0],[0,1,0,0]], #XI\n", " [[0,0,0,1],[0,0,1,0],[0,1,0,0],[1,0,0,0]], #XX\n", " [[0,0,1,0],[0,0,0,-1],[1,0,0,0],[0,-1,0,0]], #XZ\n", " [[1,0,0,0],[0,1,0,0],[0,0,-1,0],[0,0,0,-1]], #ZI\n", " [[0,1,0,0],[1,0,0,0],[0,0,0,-1],[0,0,-1,0]], #ZX\n", " [[1,0,0,0],[0,-1,0,0],[0,0,-1,0],[0,0,0,1]]]) #ZZ\n", "\n", "\n", "Hamiltonian_coef = np.matrix(\n", "# [R,II,IX,IZ,XI,XZ,XX,ZI,ZX,ZZ] \n", "[[0.05,33.9557,-0.1515,-2.4784,-0.1515,0.1412,0.1515,-2.4784,0.1515,0.2746],\n", "[0.1,13.3605,-0.1626,-2.4368,-0.1626,0.2097,0.1626,-2.4368,0.1626,0.2081],\n", "[0.15,6.8232,-0.1537,-2.3801,-0.1537,0.2680,0.1537,-2.3801,0.1537,0.1512],\n", "[0.2,3.6330,-0.1405,-2.2899,-0.1405,0.3027,0.1405,-2.2899,0.1405,0.1176],\n", "[0.25,1.7012,-0.1324,-2.1683,-0.1324,0.3211,0.1324,-2.1683,0.1324,0.1010],\n", "[0.3,0.3821,-0.1306,-2.0305,-0.1306,0.3303,0.1306,-2.0305,0.1306,0.0943],\n", "[0.35,-0.5810,-0.1335,-1.8905,-0.1335,0.3344,0.1335,-1.8905,0.1335,0.0936],\n", "[0.4,-1.3119,-0.1396,-1.7568,-0.1396,0.3352,0.1396,-1.7568,0.1396,0.0969],\n", "[0.45,-1.8796,-0.1477,-1.6339,-0.1477,0.3339,0.1477,-1.6339,0.1477,0.1030],\n", "[0.5,-2.3275,-0.1570,-1.5236,-0.1570,0.3309,0.1570,-1.5236,0.1570,0.1115],\n", "[0.55,-2.6844,-0.1669,-1.4264,-0.1669,0.3264,0.1669,-1.4264,0.1669,0.1218],\n", "[0.6,-2.9708,-0.1770,-1.3418,-0.1770,0.3206,0.1770,-1.3418,0.1770,0.1339],\n", "[0.65,-3.2020,-0.1871,-1.2691,-0.1871,0.3135,0.1871,-1.2691,0.1871,0.1475],\n", "[0.7,-3.3893,-0.1968,-1.2073,-0.1968,0.3052,0.1968,-1.2073,0.1968,0.1626],\n", "[0.75,-3.5417,-0.2060,-1.1552,-0.2060,0.2958,0.2060,-1.1552,0.2060,0.1791],\n", "[0.8,-3.6660,-0.2145,-1.1117,-0.2145,0.2853,0.2145,-1.1117,0.2145,0.1968],\n", "[0.85,-3.7675,-0.2222,-1.0758,-0.2222,0.2738,0.2222,-1.0758,0.2222,0.2157],\n", "[0.9,-3.8505,-0.2288,-1.0466,-0.2288,0.2613,0.2288,-1.0466,0.2288,0.2356],\n", "[0.95,-3.9183,-0.2343,-1.0233,-0.2343,0.2481,0.2343,-1.0233,0.2343,0.2564],\n", "[1,-3.9734,-0.2385,-1.0052,-0.2385,0.2343,0.2385,-1.0052,0.2385,0.2779],\n", "[1.05,-4.0180,-0.2414,-0.9916,-0.2414,0.2199,0.2414,-0.9916,0.2414,0.3000],\n", "[1.1,-4.0539,-0.2430,-0.9820,-0.2430,0.2053,0.2430,-0.9820,0.2430,0.3225],\n", "[1.15,-4.0825,-0.2431,-0.9758,-0.2431,0.1904,0.2431,-0.9758,0.2431,0.3451],\n", "[1.2,-4.1050,-0.2418,-0.9725,-0.2418,0.1756,0.2418,-0.9725,0.2418,0.3678],\n", "[1.25,-4.1224,-0.2392,-0.9716,-0.2392,0.1610,0.2392,-0.9716,0.2392,0.3902],\n", "[1.3,-4.1356,-0.2353,-0.9728,-0.2353,0.1466,0.2353,-0.9728,0.2353,0.4123],\n", "[1.35,-4.1454,-0.2301,-0.9757,-0.2301,0.1327,0.2301,-0.9757,0.2301,0.4339],\n", "[1.4,-4.1523,-0.2239,-0.9798,-0.2239,0.1194,0.2239,-0.9798,0.2239,0.4549],\n", "[1.45,-4.1568,-0.2167,-0.9850,-0.2167,0.1068,0.2167,-0.9850,0.2167,0.4751],\n", "[1.5,-4.1594,-0.2086,-0.9910,-0.2086,0.0948,0.2086,-0.9910,0.2086,0.4945],\n", "[1.55,-4.1605,-0.1998,-0.9975,-0.1998,0.0837,0.1998,-0.9975,0.1998,0.5129],\n", "[1.6,-4.1602,-0.1905,-1.0045,-0.1905,0.0734,0.1905,-1.0045,0.1905,0.5304],\n", "[1.65,-4.1589,-0.1807,-1.0116,-0.1807,0.0640,0.1807,-1.0116,0.1807,0.5468],\n", "[1.7,-4.1568,-0.1707,-1.0189,-0.1707,0.0555,0.1707,-1.0189,0.1707,0.5622],\n", "[1.75,-4.1540,-0.1605,-1.0262,-0.1605,0.0479,0.1605,-1.0262,0.1605,0.5766],\n", "[1.8,-4.1508,-0.1503,-1.0334,-0.1503,0.0410,0.1503,-1.0334,0.1503,0.5899],\n", "[1.85,-4.1471,-0.1403,-1.0404,-0.1403,0.0350,0.1403,-1.0404,0.1403,0.6023],\n", "[1.9,-4.1431,-0.1305,-1.0473,-0.1305,0.0297,0.1305,-1.0473,0.1305,0.6138],\n", "[1.95,-4.1390,-0.1210,-1.0540,-0.1210,0.0251,0.1210,-1.0540,0.1210,0.6244],\n", "[2,-4.1347,-0.1119,-1.0605,-0.1119,0.0212,0.1119,-1.0605,0.1119,0.6342],\n", "[2.05,-4.1303,-0.1031,-1.0667,-0.1031,0.0178,0.1031,-1.0667,0.1031,0.6432],\n", "[2.1,-4.1258,-0.0949,-1.0727,-0.0949,0.0148,0.0949,-1.0727,0.0949,0.6516],\n", "[2.15,-4.1214,-0.0871,-1.0785,-0.0871,0.0124,0.0871,-1.0785,0.0871,0.6594],\n", "[2.2,-4.1169,-0.0797,-1.0840,-0.0797,0.0103,0.0797,-1.0840,0.0797,0.6666],\n", "[2.25,-4.1125,-0.0729,-1.0893,-0.0729,0.0085,0.0729,-1.0893,0.0729,0.6733],\n", "[2.3,-4.1082,-0.0665,-1.0944,-0.0665,0.0070,0.0665,-1.0944,0.0665,0.6796],\n", "[2.35,-4.1040,-0.0606,-1.0993,-0.0606,0.0058,0.0606,-1.0993,0.0606,0.6854],\n", "[2.4,-4.0998,-0.0551,-1.1040,-0.0551,0.0047,0.0551,-1.1040,0.0551,0.6909],\n", "[2.45,-4.0957,-0.0500,-1.1085,-0.0500,0.0039,0.0500,-1.1085,0.0500,0.6961],\n", "[2.5,-4.0918,-0.0454,-1.1128,-0.0454,0.0032,0.0454,-1.1128,0.0454,0.7010],\n", "[2.55,-4.0879,-0.0411,-1.1170,-0.0411,0.0026,0.0411,-1.1170,0.0411,0.7056],\n", "[2.6,-4.0841,-0.0371,-1.1210,-0.0371,0.0021,0.0371,-1.1210,0.0371,0.7099],\n", "[2.65,-4.0805,-0.0335,-1.1248,-0.0335,0.0017,0.0335,-1.1248,0.0335,0.7141],\n", "[2.7,-4.0769,-0.0303,-1.1285,-0.0303,0.0014,0.0303,-1.1285,0.0303,0.7181],\n", "[2.75,-4.0735,-0.0273,-1.1321,-0.0273,0.0011,0.0273,-1.1321,0.0273,0.7218],\n", "[2.8,-4.0701,-0.0245,-1.1356,-0.0245,0.0009,0.0245,-1.1356,0.0245,0.7254],\n", "[2.85,-4.0669,-0.0221,-1.1389,-0.0221,0.0007,0.0221,-1.1389,0.0221,0.7289],\n", "[2.9,-4.0638,-0.0198,-1.1421,-0.0198,0.0006,0.0198,-1.1421,0.0198,0.7322],\n", "[2.95,-4.0607,-0.0178,-1.1452,-0.0178,0.0005,0.0178,-1.1452,0.0178,0.7354],\n", "[3,-4.0578,-0.0159,-1.1482,-0.0159,0.0004,0.0159,-1.1482,0.0159,0.7385],\n", "[3.05,-4.0549,-0.0142,-1.1511,-0.0142,0.0003,0.0142,-1.1511,0.0142,0.7414],\n", "[3.1,-4.0521,-0.0127,-1.1539,-0.0127,0.0002,0.0127,-1.1539,0.0127,0.7443],\n", "[3.15,-4.0494,-0.0114,-1.1566,-0.0114,0.0002,0.0114,-1.1566,0.0114,0.7470],\n", "[3.2,-4.0468,-0.0101,-1.1592,-0.0101,0.0001,0.0101,-1.1592,0.0101,0.7497],\n", "[3.25,-4.0443,-0.0090,-1.1618,-0.0090,0.0001,0.0090,-1.1618,0.0090,0.7522],\n", "[3.3,-4.0418,-0.0081,-1.1643,-0.0081,0.0001,0.0081,-1.1643,0.0081,0.7547],\n", "[3.35,-4.0394,-0.0072,-1.1666,-0.0072,0.0001,0.0072,-1.1666,0.0072,0.7571],\n", "[3.4,-4.0371,-0.0064,-1.1690,-0.0064,0.0001,0.0064,-1.1690,0.0064,0.7595],\n", "[3.45,-4.0349,-0.0056,-1.1712,-0.0056,0.0000,0.0056,-1.1712,0.0056,0.7617],\n", "[3.5,-4.0327,-0.0050,-1.1734,-0.0050,0.0000,0.0050,-1.1734,0.0050,0.7639],\n", "[3.55,-4.0306,-0.0044,-1.1756,-0.0044,0.0000,0.0044,-1.1756,0.0044,0.7661],\n", "[3.6,-4.0285,-0.0039,-1.1776,-0.0039,0.0000,0.0039,-1.1776,0.0039,0.7681],\n", "[3.65,-4.0265,-0.0035,-1.1796,-0.0035,0.0000,0.0035,-1.1796,0.0035,0.7702],\n", "[3.7,-4.0245,-0.0030,-1.1816,-0.0030,0.0000,0.0030,-1.1816,0.0030,0.7721],\n", "[3.75,-4.0226,-0.0027,-1.1835,-0.0027,0.0000,0.0027,-1.1835,0.0027,0.7740],\n", "[3.8,-4.0208,-0.0024,-1.1854,-0.0024,0.0000,0.0024,-1.1854,0.0024,0.7759],\n", "[3.85,-4.0190,-0.0021,-1.1872,-0.0021,0.0000,0.0021,-1.1872,0.0021,0.7777],\n", "[3.9,-4.0172,-0.0018,-1.1889,-0.0018,0.0000,0.0018,-1.1889,0.0018,0.7795],\n", "[3.95,-4.0155,-0.0016,-1.1906,-0.0016,0.0000,0.0016,-1.1906,0.0016,0.7812]]\n", ")\n", "\n", "\n", "#Building the Hamiltonian H[0]= Radius, H[1]=H(Radius)\n", "H1=[]\n", "(n,m)=Hamiltonian_coef.shape\n", "for i in range(n): #i = Radius\n", " h_0=1.0*np.matrix(Hamiltonian_elem[0])\n", " for j in range(1,m):\n", " h_0+= Hamiltonian_coef[i,j]*np.matrix(Hamiltonian_elem[j])\n", " H1.append([Hamiltonian_coef[i,0],h_0])" ] }, { "cell_type": "markdown", "id": "913d4aea", "metadata": {}, "source": [ "### Hamiltonian n°2 [\\[2\\]](https://journals.aps.org/prl/abstract/10.1103/PhysRevLett.73.58)\n" ] }, { "cell_type": "code", "execution_count": 6, "id": "87f168f2", "metadata": {}, "outputs": [], "source": [ "Hamiltonian_elem = np.array([[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]], #00\n", " [[1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,0,1]], #II\n", " [[1,0,0,0],[0,1,0,0],[0,0,-1,0],[0,0,0,-1]], #ZI\n", " [[1,0,0,0],[0,-1,0,0],[0,0,1,0],[0,0,0,-1]], #IZ\n", " [[1,0,0,0],[0,-1,0,0],[0,0,-1,0],[0,0,0,1]], #ZZ\n", " [[0,0,0,1],[0,0,1,0],[0,1,0,0],[1,0,0,0]], #XX\n", " [[0,0,0,-1],[0,0,1,0],[0,1,0,0],[-1,0,0,0]]]) #YY\n", " \n", "\n", "Hamiltonian_coef = np.matrix(\n", "# [R,II,ZI,IZ,ZZ,XX,YY] \n", "[[0.20,2.8489,0.5678,-1.4508,0.6799,0.0791,0.0791],\n", "[0.25,2.1868,0.5449,-1.2870,0.6719,0.0798,0.0798],\n", "[0.30,1.7252,0.5215,-1.1458,0.6631,0.0806,0.0806],\n", "[0.35,1.3827,0.4982,-1.0226,0.6537,0.0815,0.0815],\n", "[0.40,1.1182,0.4754,-0.9145,0.6438,0.0825,0.0825],\n", "[0.45,0.9083,0.4534,-0.8194,0.6336,0.0835,0.0835],\n", "[0.50,0.7381,0.4325,-0.7355,0.6233,0.0846,0.0846],\n", "[0.55,0.5979,0.4125,-0.6612,0.6129,0.0858,0.0858],\n", "[0.60,0.4808,0.3937,-0.5950,0.6025,0.0870,0.0870],\n", "[0.65,0.3819,0.3760,-0.5358,0.5921,0.0883,0.0883],\n", "[0.70,0.2976,0.3593,-0.4826,0.5818,0.0896,0.0896],\n", "[0.75,0.2252,0.3435,-0.4347,0.5716,0.0910,0.0910],\n", "[0.80,0.1626,0.3288,-0.3915,0.5616,0.0925,0.0925],\n", "[0.85,0.1083,0.3149,-0.3523,0.5518,0.0939,0.0939],\n", "[0.90,0.0609,0.3018,-0.3168,0.5421,0.0954,0.0954],\n", "[0.95,0.0193,0.2895,-0.2845,0.5327,0.0970,0.0970],\n", "[1.00,-0.0172,0.2779,-0.2550,0.5235,0.0986,0.0986],\n", "[1.05,-0.0493,0.2669,-0.2282,0.5146,0.1002,0.1002],\n", "[1.10,-0.0778,0.2565,-0.2036,0.5059,0.1018,0.1018],\n", "[1.15,-0.1029,0.2467,-0.1810,0.4974,0.1034,0.1034],\n", "[1.20,-0.1253,0.2374,-0.1603,0.4892,0.1050,0.1050],\n", "[1.25,-0.1452,0.2286,-0.1413,0.4812,0.1067,0.1067],\n", "[1.30,-0.1629,0.2203,-0.1238,0.4735,0.1083,0.1083],\n", "[1.35,-0.1786,0.2123,-0.1077,0.4660,0.1100,0.1100],\n", "[1.40,-0.1927,0.2048,-0.0929,0.4588,0.1116,0.1116],\n", "[1.45,-0.2053,0.1976,-0.0792,0.4518,0.1133,0.1133],\n", "[1.50,-0.2165,0.1908,-0.0666,0.4451,0.1149,0.1149],\n", "[1.55,-0.2265,0.1843,-0.0549,0.4386,0.1165,0.1165],\n", "[1.60,-0.2355,0.1782,-0.0442,0.4323,0.1181,0.1181],\n", "[1.65,-0.2436,0.1723,-0.0342,0.4262,0.1196,0.1196],\n", "[1.70,-0.2508,0.1667,-0.0251,0.4204,0.1211,0.1211],\n", "[1.75,-0.2573,0.1615,-0.0166,0.4148,0.1226,0.1226],\n", "[1.80,-0.2632,0.1565,-0.0088,0.4094,0.1241,0.1241],\n", "[1.85,-0.2684,0.1517,-0.0015,0.4042,0.1256,0.1256],\n", "[1.90,-0.2731,0.1472,0.0052,0.3992,0.1270,0.1270],\n", "[1.95,-0.2774,0.1430,0.0114,0.3944,0.1284,0.1284],\n", "[2.00,-0.2812,0.1390,0.0171,0.3898,0.1297,0.1297],\n", "[2.05,-0.2847,0.1352,0.0223,0.3853,0.1310,0.1310],\n", "[2.10,-0.2879,0.1316,0.0272,0.3811,0.1323,0.1323],\n", "[2.15,-0.2908,0.1282,0.0317,0.3769,0.1335,0.1335],\n", "[2.20,-0.2934,0.1251,0.0359,0.3730,0.1347,0.1347],\n", "[2.25,-0.2958,0.1221,0.0397,0.3692,0.1359,0.1359],\n", "[2.30,-0.2980,0.1193,0.0432,0.3655,0.1370,0.1370],\n", "[2.35,-0.3000,0.1167,0.0465,0.3620,0.1381,0.1381],\n", "[2.40,-0.3018,0.1142,0.0495,0.3586,0.1392,0.1392],\n", "[2.45,-0.3035,0.1119,0.0523,0.3553,0.1402,0.1402],\n", "[2.50,-0.3051,0.1098,0.0549,0.3521,0.1412,0.1412],\n", "[2.55,-0.3066,0.1078,0.0572,0.3491,0.1422,0.1422],\n", "[2.60,-0.3079,0.1059,0.0594,0.3461,0.1432,0.1432],\n", "[2.65,-0.3092,0.1042,0.0614,0.3433,0.1441,0.1441],\n", "[2.70,-0.3104,0.1026,0.0632,0.3406,0.1450,0.1450],\n", "[2.75,-0.3115,0.1011,0.0649,0.3379,0.1458,0.1458],\n", "[2.80,-0.3125,0.0997,0.0665,0.3354,0.1467,0.1467],\n", "[2.85,-0.3135,0.0984,0.0679,0.3329,0.1475,0.1475]]\n", "\n", ")\n", "\n", "\n", "#Building the Hamiltonian H[0]= Radius, H[1]=H(Radius)\n", "H2=[]\n", "(n,m)=Hamiltonian_coef.shape\n", "for i in range(n): #i = Radius\n", " h_0=1.0*np.matrix(Hamiltonian_elem[0])\n", " for j in range(1,m):\n", " h_0+= Hamiltonian_coef[i,j]*np.matrix(Hamiltonian_elem[j])\n", " H2.append([Hamiltonian_coef[i,0],h_0])" ] }, { "cell_type": "markdown", "id": "920b16b4", "metadata": {}, "source": [ "### Hamiltonian n°3 [\\[3\\]](https://journals.aps.org/prx/abstract/10.1103/PhysRevX.8.011021)\n", "\n", "Hamiltonian coefficents on the [supplementary material](https://journals.aps.org/prx/supplemental/10.1103/PhysRevX.8.011021/Supplementary.pdf)." ] }, { "cell_type": "code", "execution_count": 7, "id": "1a6576f0", "metadata": {}, "outputs": [], "source": [ "Hamiltonian_elem = np.array([[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]], #00\n", " [[1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,0,1]], #II\n", " [[1,0,0,0],[0,1,0,0],[0,0,-1,0],[0,0,0,-1]], #ZI\n", " [[0,0,0,1],[0,0,1,0],[0,1,0,0],[1,0,0,0]], #XX\n", " [[1,0,0,0],[0,-1,0,0],[0,0,1,0],[0,0,0,-1]], #IZ\n", " [[1,0,0,0],[0,-1,0,0],[0,0,-1,0],[0,0,0,1]]]) #ZZ\n", "\n", " \n", "Hamiltonian_coef = np.matrix(\n", "# [R,II ZI XX IZ ZZ],\n", "[[0.05, 1.00777E+01 ,-1.05533E+00 ,1.55708*10**(-1) ,-1.05533E+00 ,1.39333*10**(-2)],\n", "[0.10, 4.75665E+00 ,-1.02731E+00 ,1.56170*10**(-1) ,-1.02731E+00 ,1.38667*10**(-2)],\n", "[0.15, 2.94817E+00 ,-9.84234*10**(-1) ,1.56930*10**(-1) ,-9.84234*10**(-1) ,1.37610*10**(-2)],\n", "[0.20, 2.01153E+00 ,-9.30489*10**(-1) ,1.57973*10**(-1) ,-9.30489*10**(-1) ,1.36238*10**(-2)],\n", "[0.25, 1.42283E+00 ,-8.70646*10**(-1) ,1.59277*10**(-1) ,-8.70646*10**(-1) ,1.34635*10**(-2)],\n", "[0.30, 1.01018E+00 ,-8.08649*10**(-1) ,1.60818*10**(-1) ,-8.08649*10**(-1) ,1.32880*10**(-2)],\n", "[0.35, 7.01273*10**(-1) ,-7.47416*10**(-1) ,1.62573*10**(-1) ,-7.47416*10**(-1) ,1.31036*10**(-2)],\n", "[0.40, 4.60364*10**(-1) ,-6.88819*10**(-1) ,1.64515*10**(-1) ,-6.88819*10**(-1) ,1.29140*10**(-2)],\n", "[0.45, 2.67547*10**(-1) ,-6.33890*10**(-1) ,1.66621*10**(-1) ,-6.33890*10**(-1) ,1.27192*10**(-2)],\n", "[0.50, 1.10647*10**(-1) ,-5.83080*10**(-1) ,1.68870*10**(-1) ,-5.83080*10**(-1) ,1.25165*10**(-2)],\n", "[0.55, -1.83734*10**(-2), -5.36489*10**(-1), 1.71244*10**(-1), -5.36489*10**(-1), 1.23003*10**(-2)],\n", "[0.65, -2.13932*10**(-1), -4.55433*10**(-1), 1.76318*10**(-1), -4.55433*10**(-1), 1.18019*10**(-2)],\n", "[0.75, -3.49833*10**(-1), -3.88748*10**(-1), 1.81771*10**(-1), -3.88748*10**(-1), 1.11772*10**(-2)],\n", "[0.85, -4.45424*10**(-1), -3.33747*10**(-1), 1.87562*10**(-1), -3.33747*10**(-1), 1.04061*10**(-2)],\n", "[0.95, -5.13548*10**(-1), -2.87796*10**(-1), 1.93650*10**(-1), -2.87796*10**(-1), 9.50345*10**(-3)],\n", "[1.05, -5.62600*10**(-1), -2.48783*10**(-1), 1.99984*10**(-1), -2.48783*10**(-1), 8.50998*10**(-3)],\n", "[1.15, -5.97973*10**(-1), -2.15234*10**(-1), 2.06495*10**(-1), -2.15234*10**(-1), 7.47722*10**(-3)],\n", "[1.25, -6.23223*10**(-1), -1.86173*10**(-1), 2.13102*10**(-1), -1.86173*10**(-1), 6.45563*10**(-3)],\n", "[1.35, -6.40837*10**(-1), -1.60926*10**(-1), 2.19727*10**(-1), -1.60926*10**(-1), 5.48623*10**(-3)],\n", "[1.45, -6.52661*10**(-1), -1.38977*10**(-1), 2.26294*10**(-1), -1.38977*10**(-1), 4.59760*10**(-3)],\n", "[1.55, -6.60117*10**(-1), -1.19894*10**(-1), 2.32740*10**(-1), -1.19894*10**(-1), 3.80558*10**(-3)],\n", "[1.65, -6.64309*10**(-1), -1.03305*10**(-1), 2.39014*10**(-1), -1.03305*10**(-1), 3.11545*10**(-3)],\n", "[1.75, -6.66092*10**(-1), -8.88906*10**(-2), 2.45075*10**(-1), -8.88906*10**(-2), 2.52480*10**(-3)],\n", "[1.85, -6.66126*10**(-1), -7.63712*10**(-2), 2.50896*10**(-1), -7.63712*10**(-2), 2.02647*10**(-3)],\n", "[1.95, -6.64916*10**(-1), -6.55065*10**(-2), 2.56458*10**(-1), -6.55065*10**(-2), 1.61100*10**(-3)],\n", "[2.05, -6.62844*10**(-1), -5.60866*10**(-2), 2.61750*10**(-1), -5.60866*10**(-2), 1.26812*10**(-3)],\n", "[2.15, -6.60199*10**(-1), -4.79275*10**(-2), 2.66768*10**(-1), -4.79275*10**(-2), 9.88000*10**(-4)],\n", "[2.25, -6.57196*10**(-1), -4.08672*10**(-2), 2.71512*10**(-1), -4.08672*10**(-2), 7.61425*10**(-4)],\n", "[2.35, -6.53992*10**(-1), -3.47636*10**(-2), 2.75986*10**(-1), -3.47636*10**(-2), 5.80225*10**(-4)],\n", "[2.45, -6.50702*10**(-1), -2.94924*10**(-2), 2.80199*10**(-1), -2.94924*10**(-2), 4.36875*10**(-4)],\n", "[2.55, -6.47408*10**(-1), -2.49459*10**(-2), 2.84160*10**(-1), -2.49459*10**(-2), 3.25025*10**(-4)],\n", "[2.65, -6.44165*10**(-1), -2.10309*10**(-2), 2.87881*10**(-1), -2.10309*10**(-2), 2.38800*10**(-4)],\n", "[2.75, -6.41011*10**(-1), -1.76672*10**(-2), 2.91376*10**(-1), -1.76672*10**(-2), 1.73300*10**(-4)],\n", "[2.85, -6.37971*10**(-1), -1.47853*10**(-2), 2.94658*10**(-1), -1.47853*10**(-2), 1.24200*10**(-4)],\n", "[2.95, -6.35058*10**(-1), -1.23246*10**(-2), 2.97741*10**(-1), -1.23246*10**(-2), 8.78750*10**(-5)],\n", "[3.05, -6.32279*10**(-1), -1.02318*10**(-2), 3.00638*10**(-1), -1.02317*10**(-2), 6.14500*10**(-5)],\n", "[3.15, -6.29635*10**(-1), -8.45958*10**(-3), 3.03362*10**(-1), -8.45958*10**(-3), 4.24250*10**(-5)],\n", "[3.25, -6.27126*10**(-1), -6.96585*10**(-3), 3.05927*10**(-1), -6.96585*10**(-3), 2.89500*10**(-5)],\n", "[3.35, -6.24746*10**(-1), -5.71280*10**(-3), 3.08344*10**(-1), -5.71280*10**(-3), 1.95500*10**(-5)],\n", "[3.45, -6.22491*10**(-1), -4.66670*10**(-3), 3.10625*10**(-1), -4.66670*10**(-3), 1.30500*10**(-5)],\n", "[3.55, -6.20353*10**(-1), -3.79743*10**(-3), 3.12780*10**(-1), -3.79743*10**(-3), 8.57500*10**(-6)],\n", "[3.65, -6.18325*10**(-1), -3.07840*10**(-3), 3.14819*10**(-1), -3.07840*10**(-3), 5.60000*10**(-6)],\n", "[3.75, -6.16401*10**(-1), -2.48625*10**(-3), 3.16750*10**(-1), -2.48625*10**(-3), 3.60000*10**(-6)],\n", "[3.85, -6.14575*10**(-1), -2.00063*10**(-3), 3.18581*10**(-1), -2.00062*10**(-3), 2.27500*10**(-6)],\n", "[3.95, -6.12839*10**(-1), -1.60393*10**(-3), 3.20320*10**(-1), -1.60392*10**(-3), 1.42500*10**(-6)]] )\n", " \n", "#Building the Hamiltonian H[0]= Radius, H[1]=H(Radius)\n", "H3=[]\n", "(n,m)=Hamiltonian_coef.shape\n", "for i in range(n): #i = Radius\n", " h_0=1.0*np.matrix(Hamiltonian_elem[0])\n", " for j in range(1,m):\n", " h_0+= Hamiltonian_coef[i,j]*np.matrix(Hamiltonian_elem[j])\n", " H3.append([Hamiltonian_coef[i,0],h_0])" ] }, { "cell_type": "markdown", "id": "b95733d2", "metadata": {}, "source": [ "## Varational quantum eigenvalue solver simulation\n", "\n", "We use the Nelder-Mead minimisation algorithm [4] from the `scipy.optimize` package.\n", "\n" ] }, { "cell_type": "markdown", "id": "c8096d2c", "metadata": {}, "source": [ "### Simulation n°1 " ] }, { "cell_type": "code", "execution_count": 8, "id": "29c10704", "metadata": {}, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "211267153d9241369b1e816ab553b0fe", "version_major": 2, "version_minor": 0 }, "text/plain": [ "Minimizing...: 0it [00:00, ?it/s]" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "tq = tqdm(desc='Minimizing...') #Displaying progress bar\n", "radius1=[]\n", "E1=[]\n", "init_param=[]\n", "\n", "H=H1\n", "\n", "for R in range(len(H)): #We try to find the ground state eigenvalue for each radius R\n", " radius1.append(H[R][0])\n", " if (init_param==[]): #\n", " init_param = [2*(np.pi)*random.random() for _ in List_Parameters]\n", " else:\n", " for i in range(len(init_param)):\n", " init_param[i]=VQE.get_parameters()[i]._value\n", " \n", " # Finding the ground state eigen value for each H(R)\n", " result=minimize(minimize_loss,init_param,method='Nelder-Mead')\n", " \n", " E1.append(result.get('fun'))\n", " tq.set_description('Finished' )\n", " " ] }, { "cell_type": "markdown", "id": "29c9e0f2", "metadata": {}, "source": [ "#### Simulation 1: computing the theoretical eigenvalues of H\n", "\n", " We use the numpy linalg package." ] }, { "cell_type": "code", "execution_count": 9, "id": "5c5bba77", "metadata": {}, "outputs": [], "source": [ "E1_th=[]\n", "for h in H:\n", " l0=np.linalg.eigvals(h[1])\n", " l0.sort()\n", " E1_th.append(min(l0))" ] }, { "cell_type": "markdown", "id": "dad5309a", "metadata": {}, "source": [ "#### Simulation 1: plotting the results\n", "\n", "The minimum eigenvalues of H are plotted in orange.\n", "\n", "The eigenvalues found with Perceval are the crosses" ] }, { "cell_type": "code", "execution_count": 10, "id": "6134240e", "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "The minimum energy is E_g(0.9)=-5.725241528105799 MJ/mol and is attained for R_min =0.9 pm\n" ] } ], "source": [ "\n", "plt.plot(100*np.array(radius1),E1_th,'orange')\n", "plt.plot(100*np.array(radius1),E1,'x')\n", "plt.ylabel('Energy (MJ/mol)')\n", "plt.xlabel('Atomic separation R (pm)')\n", "plt.legend(['Theoretical eigenvalues', 'Eigenvalues computed with Perceval'])\n", "plt.show()\n", "\n", "\n", "\n", "plt.plot(100*np.array(radius1),E1_th,'orange')\n", "plt.plot(100*np.array(radius1),E1,'x')\n", "plt.axis([50,250,-5.8,-5.5])\n", "plt.ylabel('Energy (MJ/mol)')\n", "plt.xlabel('Atomic separation R (pm)')\n", "\n", "plt.legend(['Theoretical eigenvalues', 'Eigenvalues computed with Perceval'])\n", "\n", "plt.show()\n", "\n", "min_value=min(E1)\n", "min_index = E1.index(min_value)\n", "print('The minimum energy is E_g('+str(radius1[min_index])+')='+str(E1[min_index])+' MJ/mol and is attained for R_min ='+str(radius1[min_index])+' pm')\n", "\n" ] }, { "cell_type": "markdown", "id": "c5eeb76b", "metadata": {}, "source": [ "### Simulation n°2" ] }, { "cell_type": "code", "execution_count": 11, "id": "f872bf8a", "metadata": {}, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "d0f4876cbfb64e1b92d7a4c5b500240d", "version_major": 2, "version_minor": 0 }, "text/plain": [ "Minimizing...: 0it [00:00, ?it/s]" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "tq = tqdm(desc='Minimizing...') #New progress bar\n", "radius2=[]\n", "E2=[]\n", "init_param=[]\n", "\n", "H=H2\n", "\n", "for R in range(len(H)): #We try to find the ground state eigenvalue for each radius R\n", " radius2.append(H[R][0])\n", " if (init_param==[]): #\n", " init_param = [2*(np.pi)*random.random() for _ in List_Parameters]\n", " else:\n", " for i in range(len(init_param)):\n", " init_param[i]=VQE.get_parameters()[i]._value\n", " \n", " # Finding the ground state eigen value for each H(R)\n", " result=minimize(minimize_loss,init_param,method='Nelder-Mead')\n", " \n", " E2.append(result.get('fun'))\n", " tq.set_description('Finished' )\n" ] }, { "cell_type": "markdown", "id": "b03f9998", "metadata": {}, "source": [ "#### Simulation 2: computing the theoretical eigenvalues of H\n", "\n", " We use the numpy linalg package." ] }, { "cell_type": "code", "execution_count": 12, "id": "44b8aae9", "metadata": {}, "outputs": [], "source": [ "E2_th=[]\n", "for h in H:\n", " l0=np.linalg.eigvals(h[1])\n", " l0.sort()\n", " E2_th.append(min(l0))" ] }, { "cell_type": "markdown", "id": "008925dc", "metadata": {}, "source": [ "#### Simulation 2: plotting the results\n", "\n", "The minimum eigenvalues of H are plotted in orange.\n", "\n", "The eigenvalues found with Perceval are the crosses" ] }, { "cell_type": "code", "execution_count": 13, "id": "ea56c529", "metadata": {}, "outputs": [ { "data": { "image/png": "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1KlT/O53v7MkUUNZovAX413wyJqejAHw9UuYms36KPz5+ihyIxuHMcZUIpYo/NVpDBJtNQpjjPFjicKfREFMU6tRGGOMH0sUxcU0sxqFMcb4sURRXEwsnLAaRU0VHR3tm2o8OTmZRx99FIDbbrutyGyukVI4YV91Vnzm3JIq62tz7bXXcvjwYQ4fPszf//533/aSTnU+ffp03xQvvXr1CjpiPRJmz56Ny+W66P1YoijOahRVQriWr73kkkt8U4uvXbuW++67D4Dnn3++wtekqKnKmijKatGiRTRu3Pi8RFEajz/+OGvXruXRRx8t1bQoFxpBX1lYoiguJtb6KKqAil6+tnBabIAXXniBLl260K9fP26//XbfN7bc3FzGjRtH37596du3L1988QXgmSb71ltvZejQoXTs2JG0tDQA7rvvPv72t7/5jlE4nfaxY8cYMWIEvXr1IjEx0Tda21/xb7sul8s3BUawKcDT0tLo3r07SUlJTJo06bx9nj17lt/85jf06NGDpKQk/vrXvwKeyfdSUlJITEzk1ltv9U1cGBcXx/33309ycjJ9+vRh9erVXH311XTq1Mk3l9PSpUsZPHgw1113HVdccQUzZszwzdvkXwNYuHAh06dPDzjFerCp3Hfs2OEbWf7f//3fAd+3xx9/3Pd6/+pXv2L48OEAfPLJJ0ydOtV3HgcOHOC+++4jKyuL5ORk7rnnHsAz4HD8+PF07dqVqVOncqEByoMHD2bbtm1A4CnQC8/717/+NT179mT58uXMnTuXpKQkevbsyS233AIE/lsqKCggLi6uyGy4nTt3Zt++fbz33nv079+flJQURo4cyb59+0LGWWqqWu1+evfurWW27neqr0Spnj1T9n2YMtm0aVOpyn+xLVdTHvlQ//LBN5ryyIf6xbbci44hKipKe/bs6fuZP3++qqoOGTJEV65cqXv37tUOHTpoXl6enjp1Sq+66ir9xS9+oaqqkydP1mXLlqmq6q5du7Rr166qqvqHP/xBBw4cqCdOnNDc3Fxt0qSJnjp1SlevXq2DBw/2Hbtbt266e/duPX36tObn56uqam5urnbq1EkLCgpUVbVevXqqqrpkyRK97rrrfM/9xS9+oS+99JKeOnVKBw4cqPv371dV1fnz5+tPf/pTVVVt1aqVnjhxQlVVDx06dN65//3vf9dx48bp6dOnVVU1Ly9Pjx8/rm3bttUtW7aoquott9yiTz31lKqqdujQQf/+97+rquovf/lLTUxM1CNHjuj+/fu1efPmvjhjYmI0KytLz5w5oyNHjtTXX3+9yLmoqr7++us6bdo0VVWdNm2ar4yq6vDhw/Xbb79VVdUvv/xShw0bpqqqY8eO1Tlz5qiqanp6epH9FVq+fLmOHz9eVVWvuuoq7du3r546dUofeughnTVrlu88cnNzdceOHZqQkOB77pIlS7Rhw4a6Z88ePXv2rA4YMMD3/vrzj/e1117Tfv366aZNm3TMmDF66tQpVVW98847fbECumDBAlVV3bhxo3bu3Flzc3N9r7lq8L+l1NRUffHFF32vxYgRI1RV9eDBg76/kX/84x86c+ZMVVV96aWXfH+f/gL9rwGZGuQzNaID7kTkGuBpIBp4XlUfLfZ4DDAX6A3kARNVdWdYg4qJBS2AU4egrk0zXpk5OsXi7N+etE+2kTr88nKZFr6w6SmYFStWMGTIEJo0aQJ4pgwvnNJ78eLFRZpMjhw54pt077rrriMmJoaYmBiaN2/Ovn37SElJYf/+/Xz33Xfk5uZy2WWX0a5dO06fPs0DDzzAZ599RlRUFHv37mXfvn0lGhUdagrwpKQkpk6dyo033siNN9543nMXL17MjBkzqFXL87HQpEkT1q1bR3x8vG9+pWnTpvG3v/2NX/7ylwBcf/31ACQmJnLs2DEaNGhAgwYNiImJ8X3z7devHx07dgRg8uTJfP755+etsxFMqKnYv/jiC9/aFbfccgu//e1vz3t+7969WbVqFUeOHCEmJoZevXqRmZnJsmXLfDWNUPr160fbtm0BSE5OZufOnVx11VXnlbvnnnv44x//SLNmzXjhhReCToEOnn6wcePGAZ6azYQJE4iN9fztFv5dBftbmjhxIo888gg//elPmT9/PhMnTgQ8a5xMnDiRnJwcTp06RXx8/AXPrTQilihEJBr4GzAKyAZWisi7qurfOPkz4JCqXi4ik4A/AxPDGpj/6GxLFJWaO+sAGV/tJnX45WR8tZsBnZpGdA2RgoICvvzyy4BTfBefprxwArwJEyawcOFCvv/+e98//bx588jNzWXVqlXUrl2buLg439TahUJNvR1sCvD333+fzz77jPfee4//+Z//YcOGDb6kUFaF5xUVFVXkHKOionznKCJFnlN433978fMrdKGp2Ivvu7jatWsTHx/P7NmzcTgcJCUlsWTJErZt21aiecWCvW/FPf7440WS35IlS4JOgV63bl2io6NDHjfY39LAgQPZtm0bubm5vP32274mt7vvvpuZM2dy/fXXs3TpUh566KELnltpRLKPoh+wTVW3q+opYD5wQ7EyNwBzvLcXAiPkQn8ZF8tGZ1cJvuVrp6Qwc/QVFbZ8bd++ffn00085dOgQZ86cKbIa2+jRo33t+kCJ1pmYOHEi8+fPZ+HChb5vzfn5+TRv3pzatWuzZMkSdu3add7zOnTowKZNmzh58iSHDx/m448/BoJPAV5QUMCePXsYNmwYf/7zn8nPz/fVdgqNGjWKZ5991vdhePDgQa644gp27tzpa3d/+eWXGTJkSCleMU8tbMeOHRQUFLBgwQLfN/IWLVqwefNmCgoKeOutt3zl/adYDzUV+5VXXllkKvdgBg0axBNPPMHgwYMZNGgQs2bNIiUl5bwkE2xq97IINgV6ccOHD+f1118nLy/PVw6C/y2JCDfddBMzZ86kW7duNG3aFCg6XfucOXMob5FMFG2APX73s73bApZR1TNAPtA00M5E5A4RyRSRzNzci/iQr2vzPVUFvuVrvTUI/+VrL8bx48eLXB5beNVToTZt2vDAAw/Qr18/rrzySuLi4mjUyNOBnpaWRmZmJklJSXTv3t3XoRtKQkICR48epU2bNr4moqlTp5KZmUliYiJz586la9eu5z2vXbt23HzzzfTo0YObb77Zt1JdsCnAz549i9PpJDExkZSUFFJTU2ncuHGRfd522220b9/e17H6yiuvULduXV566SUmTJhAYmIiUVFRzJgxo1Svad++fXG5XHTr1o34+HhuuukmAB599FHGjBmDw+EoskJe8SnWg03F/vTTT/O3v/2NxMRE9u7dG/T4gwYNIicnh4EDB9KiRQvq1q0bcH2Qpk2bcuWVV9KjRw9fZ3ZZBZsCvbiEhAQefPBBhgwZQs+ePZk5cyYQ+m9p4sSJZGRk+Gqg4LkQYsKECfTu3dvXjFWugnVehPsHGI+nX6Lw/i1AerEyG4G2fvezgNgL7fuiOrN/2KM6D9Wtz5Z9H6ZMStuZHSlHjx5VVdXTp0/rmDFj9M0334xwRJVX8U53UzmUtjM7kjWKvUA7v/ttvdsClhGRWkAjPJ3a4WOLF5kLeOihh0hOTqZHjx7Ex8cH7Bg2pjqJ5FVPK4HOIhKPJyFMAqYUK/MuMA1YjqcG8ok384VPdF2oVd9GZ5ugnnjiiUiHUGUMHTo04DrYpmqJWKJQ1TMi4gI+wHN57Iuq+rWIPIKnCvQu8ALwsohsAw7iSSbhFxNrNYoIUdULXslijCm7snzXjug4ClVdBCwqtu33frdPABOKPy/sYprZVU8RULduXfLy8mjatKklC2PCQFXJy8sLeAl3KLbCXSAxsXByf6SjqHHatm1LdnY2F3XVmjEmpLp16/oGEZaUJYpA6jaD/K8jHUWNUzg4yhhTudikgIFYH4UxxvhYoggkphmc/RHO/BjpSIwxJuIsUQRiYymMMcbHEkUgvmk8rFPVGGMsUQRSWKM4YTUKY4yxRBFIjNUojDGmkCWKQKyPwhhjfCxRBFKnMUi01SiMMQZLFIFJFMQ0tRqFMcZgiSK4mGY2g6wxxmCJIjgbnW2MMYAliuBsBlljjAEsUQRnNQpjjAEsUQRXtxmczIOCs5GOxBhjIsoSRTAxsYDCqUORjsQYYyLKEkUwNjrbGGMASxTB2ehsY4wBLFEEZzPIGmMMYIkiOKtRGGMMYIkiON9U41ajMMbUbBFJFCLSREQ+EpGt3t+XBSiTLCLLReRrEVkvIhMrNMjoulCrvtUojDE1XqRqFPcBH6tqZ+Bj7/3ifgT+U1UTgGuA/xORxhUXIjY62xhjiFyiuAGY4709B7ixeAFV/VZVt3pvfwfsB5pVVICAjc42xhgilyhaqGqO9/b3QItQhUWkH1AHyApR5g4RyRSRzNzccqoF1LUZZI0xpla4diwii4GWAR560P+OqqqIaIj9tAJeBqapakGwcqr6HPAcQJ8+fYLur1RiYuHwxnLZlTHGVFVhSxSqOjLYYyKyT0RaqWqONxHsD1KuIfA+8KCqfhmmUIOzPgpjjIlY09O7wDTv7WnAO8ULiEgd4C1grqourMDYzomJhbPH4cyPETm8McZUBpFKFI8Co0RkKzDSex8R6SMiz3vL3AwMBqaLyFrvT3KFRukbnW0d2saYmitsTU+hqGoeMCLA9kzgNu/tDCCjgkMryjc6OxfqtY9oKMYYEyk2MjuUwhlkT1iNwhhTc1miCMW/RmGMMTXUBZueRKQ5cCXQGjgObAQyQ12qWm1YH4UxxgRPFCIyDM/UGk2ANXguYa2LZxR1JxFZCPxFVY9UQJyRUbsRSLTVKIwxNVqoGsW1wO2qurv4AyJSCxgDjALeCFNskSdRNo2HMabGC5ooVPWeEI+dAd4OR0CVTkysTeNhjKnRQjU9zQz1RFV9svzDqYRimlmNwhhTo4VqempQYVFUZjGxkG/zPRljaq5QTU8PV2QglVbdZrDfahTGmJrrguMoRKStiLwlIvu9P2+ISNuKCK5SiImFk3lQcDbSkRhjTESUZMDdS3gm8Wvt/XnPu63am/VpFu6D7QCFU4cAcGcdYNanQZfFMMaYaqckiaKZqr6kqme8P7Op6JXmIiSpbSNcS1viPpYIJ3NxZx3A9coakto2inRoxhhTYUqSKPJExCki0d4fJ5AX7sAqA0enWNKvi8G16z6e/CQb1ytrSJ+SgqNTbKRDM8aYClOSRHErnim/vwdygPHAT8MZVGXi6NwaZ9NFpH11Cmf/9pYkjDE1zgXnelLVXcD1FRBLpeTe14iMvGtJTdxHxld1GNCpqSULY0yNUpJJAeOBu4E4//KqWu2ThzvrAK7XviG987M4Lu/CgAHXW/OTMabGKcnCRW8DL+C52qn6zxjrZ312vicpbDsJx3bg6B9L+pQU1mfnW6IwxtQYJUkUJ1Q1LeyRVEIzhnTy3Pg+HvJWAJ4ObksSxpiapCSJ4mkR+QPwIXCycKOqrg5bVJVNvXjYvdAz6C4qOtLRGGNMhSpJokgEbgGGc67pSb33a4b68aBn4Hg21OsQ6WiMMaZClSRRTAA6quqpcAdTadXv6Pl9bLslCmNMjVOScRQbgcblfWARaSIiH4nIVu/vy0KUbSgi2SKSXt5xlEj9eM/vYzsicnhjjImkkiSKxsA3IvKBiLxb+FMOx74P+FhVOwMfe+8H8/+Az8rhmGVzaTvPaneWKIwxNVBJmp7+EKZj3wAM9d6eAywFflu8kIj0BloA/wb6hCmW0KJqe5LFD5YojDE1T6gV7j7A8+H8L1X9JgzHbqGqOd7b3+NJBsVjiAL+AjiBkWGIoeTqxVuNwhhTI4WqUUwDrgEeEpEuwFd4EsdiVf2hJDsXkcVAywAPPeh/R1VVRDRAubuARaqaLSIXOtYdwB0A7du3L0l4pVO/I3y3qPz3a4wxlVyoFe6+B2YDs73f7PsD/wHcKyLHgQ9V9bFQO1fVoLUAEdknIq1UNUdEWgH7AxQbCAwSkbuA+kAdETmmquf1Z6jqc8BzAH369AmUdC5O/Xg48T2cOQ61Lin33RtjTGVVks5sVLVAVZer6u9V9UpgErD3Io/9Lp5aC97f7wQ47lRVba+qccBvgLmBkkSFqOe98umHnRE5vDHGREqoPoq/4hlYF8hJIEtEGqjq0TIe+1HgNRH5GbALz1TmiEgfYIaq3lbG/YaH/yWyjbpFNhZjjKlAofooMi/wvATgTWBUWQ6sqnnAiADbM4HzkoR3Zb3ZZTlWuShMFHblkzGmhgnVRzHnQk8WkZrTu1u3JUTX9YzONsaYGiRU01PIQXWqer2qXlv+IVVSInaJrDGmRgrV9DQQ2AO8iufS2NDXp9YE9eOt6ckYU+OEShQt8fQ/TAamAO8Dr6rq1xURWKVULx5yv4h0FMYYU6GCXh6rqmdV9d+qOg0YAGwDloqIq8Kiq2zqx8PpfDh1KNKRGGNMhQk515OIxADX4alVxAFpwFvhD6uS8p9uvEnvyMZijDEVJFRn9lygB7AIeFhVN1ZYVJWV/1gKSxTGmBoiVI3CCfwA/BeQ6jfXkuCZnqlhmGOrfOrZuhTGmJon1DiKEk3vUaPUaQR1LrMrn4wxNUrQZCAi9S/05JKUqXZsLIUxpoYJVWt4R0T+IiKDRaRe4UYR6SgiP/OuV3FN+EOsZOp3tNHZxpgaJdTlsSPwLFH6c+BrEckXkTwgA88Yi2mqurBiwqxE6sd7ZpDVgkhHYowxFSLk5bGqugjPVU+mUP14KDgFx3Pg0jaRjsYYY8LOOqxLy658MsbUMJYoSsumGzfG1DCWKEqrXgdArEPbGFNjXDBReK98SqiIYKqE6LpwSWtrejLG1BglqVFsBp4Tka9EZIaINAp3UJWeTTdujKlBLpgoVPV5Vb0S+E88EwOuF5FXRGRYuIOrtGzQnTGmBilRH4WIRANdvT8HgHXATBGZH8bYKq/68fBjNpw9FelIjDEm7EKOowAQkaeAsXgG3/2vqq7wPvRnEdkSzuAqrfodAYUfdkHDzpGOxhhjwuqCiQJYD/y3qv4Q4LF+5RxP1eB/iawlCmNMNVeSRLEOuMJvmnGAfGCXquaX5aAi0gRYgKfPYydws6qet2yciLQHngfaAQpcq6o7y3LMcmWD7owxNUhJ+ij+DnwJPAf8A1gOvA5sEZHRZTzufcDHqtoZT5PWfUHKzQUeV9VueGov+8t4vPJ1SWuIqm1XPhljaoSSJIrvgBRV7aOqvYEUYDswCnisjMe9AZjjvT0HuLF4ARHpDtRS1Y8AVPWYqv5YxuOVm1mfZuHecQgu7eCrUbizDjDr06wIR2aMMeFRkkTRRVW/LryjqpuArqp6MUOTW6hqjvf290CLQMcFDovImyKyRkQe9159FZCI3CEimSKSmZubexGhhZbUthGuV9bgPjUYjm3HnXUA1ytrSGprw0uMMdVTSfooNonIM0DhpbATvdtigNPBniQii/FMR17cg/53VFVFRIPENghPDWY3nj6N6cALgY6nqs/haR6jT58+gfZXLhydYkmfkoJrzlGcsVFkrFxD+pQUHJ1iw3VIY4yJqJIkimnAXcAvvfe/AH6DJ0kEHXSnqiODPSYi+0SklarmiEgrAvc9ZANrC2suIvI2MIAgiaIiOTrF4ux6hLT1N5I6pJklCWNMtRay6cnb1LNIVf+iqjd5f55Q1R9VtUBVj5XxuO/iSUB4f78ToMxKoLGINPPeHw5sKuPxypU76wAZW5uR2vxVMlbsxZ11INIhGWNM2IRMFKp6FigIw/xOjwKjRGQrMNJ7HxHpIyLP+x37N8DHIrIBEDxXXUVUYZ9E+sTuzGw5j/Srtnv6LCxZGGOqqZI0PR0DNojIR4Bv0J2qppb1oKqaB4wIsD0TuM3v/kdAUlmPEw7rs/PP9UlsicdR5zPSp0xmfXa+NUEZY6qlkiSKN70/BpgxpNO5O016w8FVOAbFWpIwxlRbF0wUqjpHRC4B2qtqzZzbKZimfWDPQjh5EGKaRDoaY4wJi5IsXDQWWAv823s/WUTeDXNcVUOT3p7fh1ZHNg5jjAmjkgy4ewjP9BmHAVR1LdAxbBFVJZf18vw+uCqycRhjTBiVJFGcDjD5X0E4gqlyYpp4Jgi0RGGMqcZK0pn9tYhMAaJFpDOQCrjDG1YV0qQ35GVGOgpjjAmbktQo7gYSgJPAq8ARzo3SNk16e2aRPXkw0pEYY0xYlOSqpx/xzM/04IXK1kj+Hdotg85aYowxVVZJlkLtgmeEdJx/eVUdHr6wqpDCRHFwlSUKY0y1VJI+iteBWXhWmjsb3nCqIOvQNsZUcyVJFGdU9ZmwR1KVeUdoG2NMdVSSzuz3ROQuEWklIk0Kf8IeWVXSpDcc2w6nzlv22xhjqrySrkcBcI/fNsUG3Z1j/RTGmGqsJFc9xVdEIFVaE78R2pYojDHVTNCmJxG51+/2hGKP/W84g6pyYppCvTjrpzDGVEuh+igm+d2+v9hj14QhlqrNOrSNMdVUqEQhQW4Hum+a9LEObWNMtRQqUWiQ24HuG1+Htk05boypXkJ1ZvcUkSN4ag+XeG/jvV837JFVNUU6tM9b5dUYY6qsoIlCVaMrMpAqz9ehbTPJGmOql5IMuDMlZR3axphqKGKJwjvC+yMR2er9fVmQco+JyNcisllE0kSk8nak2whtY0w1FMkaxX3Ax6raGfjYe78IEXEAVwJJQA+gLzCkIoMsqVmfZuH+IcVzx9uh7c46wKxPsyIYlTHGXLxIJoobgDne23OAGwOUUTwd53WAGKA2sK8igiutpLaNcP1bcB9LhIOrcGcdwPXKGpLaNop0aMYYc1EimShaqGqO9/b3QIviBVR1ObAEyPH+fKCqmysuxJJzdIolfWpvXLsf4MnlZ3C9sob0KSk4OsVGOjRjjLkoJZkUsMxEZDHQMsBDRVbLU1UVkfPGZojI5UA3oK1300ciMkhVlwUoewdwB0D79u0vNvQycXSKxRm/k7StPUkd3s6ShDGmWghrjUJVR6pqjwA/7wD7RKQVgPf3/gC7uAn4UlWPqeox4F/AwCDHek5V+6hqn2bNmoXrlEJyZx0gY08Cqc1fJWP5dtxZByIShzHGlKdINj29y7kpzKcB7wQosxsYIiK1RKQ2no7sStn0VNgnkT4pkZmt5pM+cAOuV9ZYsjDGVHmRTBSPAqNEZCsw0nsfEekjIs97yywEsoANwDpgnaq+F4lgL2R9dr6nT6JrHDS7CseZeaRPSWF9dn6kQzPGmIsiqtVv2qY+ffpoZmYER0hv/gus+Q3csBPqdYhcHMYYU0IiskpV+wR6zEZmh0ObsZ7fe/8Z2TiMMaYcWKIIh4ZdoEEX2FspW8mMMaZULFGES5uxsG8JnD4a6UiMMeaiWKIIlzZjoeAUfP9RpCMxxpiLYokiXJo5oHZja34yxlR5lijCJao2tP4P2Ps+FJyNdDTGGFNmlijCqc1YOJkLeSsiHYkxxpSZJYpwan0NSLQ1PxljqjRLFOFU5zJoNsgShTGmSrNEEW5txkL+Rji2M9KRGGNMmViiCDcbpW2MqeIsUYTZrDVRuAuuLdL8ZEukGmOqEksUYZbUthGurbd5phs/fdSWSDXGVDlhXeHOeJdIHdsQ11u/xvnOJ2RsvtSWSDXGVClWo6gAjl5DcLZYSlpmLZz921uSMCaCZn2add6CYu6sA0x/acVFb7//zfXc/+b6SrHv8mzetkRRAdw7DpORd60tkWpMAKX54C6PD+LoKPjZ7Ezf9sLm4Csvb1pkVcqybP/n+hz+uT6nUuy7PJu3rekpzM4tkdoDx7pJDGjQAdcrtaz5yVQLsz7NIqltoyJ/y4Uf5H/6SZJvmzvrAM99tp07BncsUtaddYBdeT/w3Gfbff8Thf8zdw7t6Pnf8dv+z/U5AIzt2Tpw2UkJODrU82x/fSt3OmJxZawk/cZYHO2icO/8kWc+OcrMAVG4Xv4KZ6KSsQHSR5/A0Wo5CUPB9bIbZ9ejZGxuQPqQvTiariZhYF1cc3/A2XkfGVtbkO7YgqP+YhL6NsQ19xjOjtlkZLXl2f6rgQJcc37AGb+djB0dSe/jxhG9j4SkWFxzjuDssIWMXVeQnrIEBzkk9GiBa04+znZfk7E7gfSe/8JxahcJV7TGNfswzjZryNibwrM93gbANfsIzjarydjbi/SEN3D8uJOEzh1wzR6Hs91GMvYNKvfPF0sUYeZbIrVTLBy5BcfOJ0kffyvrs/MtUZhKJ9AHf2k/5AN+mM9bzZ2DWuOal0n6DbE42pzFvSMf1/unSB95lLFNj+Oa+6P3g7gZ6f3W4Kg9n4SkBrhm5+Nst56MPYk8m7AQCk7hemkSzhafeT4UO6bh2LuahBZdcM2+D2fTRWTkXUt6h0dx7N9AQqtEXK8V256/gaMNp5K2cjKpzV/FsXMe7AQH4Gw4lbS13u3fz4PvvdsbTSVt42RSWyzAcWg+HIrCIdE4L7uZtM3jSW31Fo4T74BE42yWR9qWsaS2WYRDF8GBKBwShbN5AWlbR5Pa7iMcdZbAkSgcMVtxtryEtKzhpHb4FEeDr+FsNI7LduJsu5a0HVeSGr8cR2wOIDjbridtx1WkdvwSR/ODQCMcLY7gPLKJtO39SR1e/s3bthRqRcrfBO8nQOIjkPi7SEdjaojSfOt/b913fPD1voDf7p9ZkkX6uHY4Wp/EvW2/50N+WC6cPoJrWXuccVlk7IgjPfGfcPoYrk0TcDZfTMa+YZ4P5/obcB9LxLWr2Id2/Q0APPn9VNL2Tya15UJmtn0Xal0K0Zfw5J6xpO0eTmq8m5ldVkF0XZ7c2p+0rUmkdv2WmYm7ILouRNXlyQ3tSdvQgtTkw8zs8yNE1YGoOjyZeQlpmbVJ7QczHTG4s6NwvX8CZ/KlZKw9TvpNLXDEN8S9+ySuN7Jx9mlORuZ+0id297wOO47gmr8OZ/8OZHy1+7zXx9m/vW87cN62YGVLu720+y6NUEuhWo2iIjXqDq3+A7amQ/d7PH/cxpSTYLWBkN/6uzfC0epH3Fv34vrncdIHZzO27yFPE0nb9WTsSSC98z9wfOcmoWUnXK8U+5Df6/mQd142nbQt40lttxhH421QuzHO4ztI23ojqd134eh1M9S6FUftBjhXX0Laqsmk9q+DY8gcqN0A9x4lY+EOUoe3J+OrKQxIedwXa8baNd7tdRgw8lcAZHzqt23QLefKbi/cvpsBfVNwdPRu33xue4Nm8TyzdDvpzn44OsUyoEdhMmzEM0u/I31qb8/2K/yS5NLtpE/p5dneqWmx7Sm+7T9/eRUAz97S+4JlS7u9tPsuz+Ynq1FUtO8/hk9GQv8XoNOtkY7GVEHBEkKR2kDHpri37MK1YDPp15yFE/twfdLU0z6+oyPpXWbDqQO4tv/X+d/uo2J4MvdnpO29ltROK5nZYwfExEJMLE9ujCdtTQNS+9dm5rDWUKcJ7r3gmv91mb/5FpYNWItZWjTBFf+wDFU22Pafzc5k5ujO3D6oU5HXL1jzWmm2l7Z/Jpz7Xp+dz4wh587xQkLVKCxRVDRV+FcK6Bm4dgOIRDoiU0ldMCFMSsDR/DDub7bjWlRA+oA1cDwH1+phOGM/ICN3ZNGmnX23kLZvIqlxnzOzRxZc0oYnt/QkbX0zUvvXYubwDnBJS9y7z+B6tewf8qX9ML86oYWvP8P/PMP5QVzaD9GaoNIlChGZADwEdAP6qWrAT3URuQZ4GogGnlfVR0uy/0qdKAC2z4Uvp8HQf0PrqyMdjakEAiWFfyzL4skPt/LCpHgcTfd4aggfNyE96Z/w4x5cW6YXrQ003g71O/Hkd+NJ29aL1KQDzLzqUri0Pe59jXG9sQvngA4hv/UXbivJN/NgH/Lh/uZrwqMyJopuQAHwLPCbQIlCRKKBb4FRQDawEpisqpsutP9KnyjOnoJ346BRDxj+YaSjMRUoZC1hYw7p19bG0fAb3FtzcH2ZxJ0t3uKZnDHnEkLHp3G0PgMNr+DJHcNI29ia1AGXMPOaRIiJxb0976K+9Zfm2719yFcvla4zW1U3A0joZpd+wDZV3e4tOx+4Abhgoqj0ousw6/QjJG1Lw9FrAzROBOwfrzoJ3bGcRfoNzXA0+hb3lp24lnUi/fJZjG25H9db9+Fs6ibj4HWkJ76FI74hR7MKSFs3mdRBLXFc+yWIeDpoP/HruE0UIK9IQijs1Lw6oUWRjk1Hp1jGJLXy3S78nT4lJeBl245OsQE7RYNtN9VPZb7qqQ2wx+9+NtA/QrGUu6SkEbgy6pG+7GUcYx87NzDP+w3QVA0XvNJocgqOlkdwr1+N64No0hPeYmzrb3EtSD1XS+j+Mo64FnDZaJyxjUhbMZnU4ZfjGD3ZkxA+8EsIXfMASpwQgn34+zcLFbIPfhNM2BKFiCwGWgZ46EFVfScMx7sDuAOgffv25b37cufoGk/6wJdwuZNxRmWSsfqQjdau5AIlhcLpIF6Y3sfThPPNLlwLNpLu+Jax3Tfhmn0AZ5P3PQkh7i84GtWC+D4460eTtmYyqcPicVw9BfAkmIyv/S7jvKRWwMseS5MQ7MPflIewJQpVHXmRu9gLtPO739a7LdjxngOeA08fxUUeu0I4hvwU59aHSVvWyPMN0v6hK7Wkto2KtvVvO8AzS7Yys3c+rjmfeUYKf9fP07GcuxEadcPZ6QrStkwmdWB9HGOWQ3QdT0L4t18t4fLmwPm1hMLLOC0hmEirzE1PK4HOIhKPJ0FMAqZENqTy5d7XgIxDN3kmC3RPZECnpvbPXgkEa05av+ewZ8r4uW6c7TaQsbMT6e3/F8ePGzja9Gek7bmJ1MQcHCOehCZ9ce85TcZqv4TQ4whQ8majF6b3YX12fpHYLCGYSIjI7LEicpOIZAMDgfdF5APv9tYisghAVc8ALuADYDPwmqp+HYl4w8HXJ+EcyMyELNLb/xnXvFU2s2wFCjZr6a68HzyzcW7LhUNrcS95FtecpSRtn4Zj0wCcjV4jbVsyzo67cAy7C3fCSjKO3Ezq8MvJ2N4B9w/JuPec9iWEmaOvIH1KCq5X1vDeuu8CNht1aFovYC3BLmwwlYENuIuQIt9a87+BfyXjjrmV9ZfNZMbQyyMdXo3gfwHBucnrMkkf+j3krcK1ynGuf6HrXBxd2uI+PRLXJ41xDogn46vdpR5EZle1mcqq0o2jCLeqkCjOs+lxWHsvOF6FuEmRjqZaCdqUlJ1PUotauOZvwBm3lYxtrUlv/z+ekcyXtuXJQ/9F2pZupA5qzszr+gZMLMGmg7CEYKqaUInCFi6qLLrOhKb9YZULju+LdDTVSmEntDvrAGgB7jVf4Jr7OUnf/x7Hmk44G84n7ZsuODtswTHkdrhuM+4ea8jI7ulpTlp92PfhH6gf4WxB0eNZk5GpbipzZ3bNEhXNLJ4i6eDdODLvgqsW+gZW2bfTkgtUe+D0Ea5udxTXnE89cyDtG+q5MqlRHdxR/0PGt4mkDosnY0UdBtRKgQPgevX8DudAly9b57KpCaxGUYkkXd4ZV/bvcG/eCrtfC8uShtVF6I7o1bjXuGHD/8M9fxKul79k7KmHcMZ+QNp3N+DsGYPjPxfj7vxvXF/1It3Zj5lXd7tgh3PxK5CMqSmsj6KScW/dh2vupzhjPyTj8DjSnX3tG2sA5/UXbNmD69V1pPf5Ag58iWvr7Tib/ouMQ2NJH7wHmvbH9f6PRRaeWZ+dH7TvwmpwpqapdHM9meAcnVvg7N+BtM9vIrXVmzguawnU3EQRqiM6/SdtPOsbt17lWYO4w6M4ju+Cy6/GeWlt0lZPInX45dBxuDep9LKmJGPKwJqeKhl31gEy1hwh9apYMnJH4H7bBQdXRTqsiCnaEa241yz3dETvvRfHugScDV8jbXs/nF0O4rj+/+Anubhb/Z2MLY09HdFf7bamJGMuktUoKpHizSkD4urjmn83V784j7EjTuBIubJI2erURBK05rA7j/TRpz1TZDRbTMb3V5He4c84mjXAHf1XMrZ2InV4R8+SmD8kwQ9HAo58HtuzdZHjWc3BmJKzGkUlct7llz0SSJ+cCFExuN7YjXv1MoAq38kdqCO6cHI9d9YBOJ6D+7O5ntHQWbfgyLoOZ5P3SNt7Hc6kWjj+8yPcHd/G9cUVpDv7lmjks9UejCk768yuCn7Yg/vN23FtmYazdywZG6nSM82e1xG9dT+uVzK5s+tOntkYi/Oydz2jobu8hKN7F9wFY3B9EF1kdTbriDamfFlndlVXrx2Occ/jfPEx0r66mtRuWTjaV/6lOUJ2RE/ohOvl5TjbbyZjezvS2/8JR8HXHG1zL2k7J5PqaIhj7Ie+FdvSp9qYBmMixZqeqgh3Tl0yDl5HatdtZHwbi3vejcx6523c284fSzDr06wKje2Ck+tlHYCC07gzl3g6or+7H8fqy3E2XEDatwk4O+7GMfp+3CnbyMgd7umEXncC9/a8gKOhrSnJmIplNYoqwNdUM7U3jk5XM2D157jemsGdsbNxZZ4hfWI3HD0SIrZK3nnrNGQdwDVvNeljGzD2sixcs/Nxxv6LjP0jSI97HEfTS3HLE2Rs7UrqsI5krKhDgz0deWbpNhsNbUwlZImiCjjvW3Wvq0hvsI/1a38kvf7juOb/EuflH5GxqwtX92h73vPLq+0+ZFPSpARcGStwdt5Pxub6pMc/iWPzcgCcLe4mLfsnpPY5g+P6Jbj3nPFOse5NCpfHlmqRHmNMxbKmpypgxpBO53+r7tyCGROm45i0EGfH3aR90xlng1cY++O9uOZ+jnv9GuBcbWRX3g8Bm4emv7SixNt9VyZt3Q9HvsX9+au45iwj6bv7cKyKw9ngFdLWN8PZYhmOHongmIe752YyDo31NCdtvhT3njM2uZ4xVYxd9VTFFSYCZ98WZHy5i/Qeb8Gh1bh23ouzzSoyvr+S9KH7oF4HXB9EkT6lN47Lm/meF2w9hTsHx/HMp9tJv74xjiZ7cG/ZjWtZB+5s+zHP7L4KZ5NFniuTOj6NI64e7jOjcS3vgbNfazJW5fmav85rkgrSnGSMiSy76qmaOm+AXufWuF6pS/q4+3DW/5K0dcNJbf0Oju//AUB6y0Rcs+/H2eorMr53kN7tNRw/7iGhSydcsw/jbL2SjL29SI//Pxx7vyKhZSKu1+/D2dSbFK54Fkf72hytm0DaJu+VSWPcuHcc8sRxizeOK84t3hOsI9oShTFVh9UoqrBgfQbvrfuOD77eh7O/Z63m9AmdcDT5Do5s5skvTpK2OZ7Uy1cz8/IVoKeh4AxPbutP2g4HqV02MrNnDsTEQkwsT65rSVpmbVKHdmDmNT3O1WAK921jGoypFqxGUU0F+xD+4Ot9Aa8eQrqSsXsNqcPbe6a8GHanr0kow+23fci5pqKMzYXbd9Og3iVFmqnsyiRjagZLFNVMsHEHhbWM4h/yxfsoQm23K5OMqZms6amGCNZM9dxn27ljcMcSb7fmJGOqp1BNT5YojDHGhEwUERlHISITRORrESkQkcAZTKSdiCwRkU3esv9V0XEaY4yJ3IC7jcBPgM9ClDkD/FpVuwMDgF+ISPeKCM4YY8w5EenMVtXNACISqkwOkOO9fVRENgNtgE0VEaMxxhiPKjGFh4jEASnAVyHK3CEimSKSmZubW2GxGWNMdRe2GoWILAZaBnjoQVV9pxT7qQ+8AfxSVY8EK6eqzwHPgaczu5ThGmOMCSJsiUJVR17sPkSkNp4kMU9V3yzp81atWnVARHZd7PEjLBY4cMFSVV9NOM+acI5QM86zOp9jh2APVNoBd+LpwHgB2KyqT5bmuaraLDxRVRwRyQx2qVp1UhPOsyacI9SM86wJ5xhIpC6PvUlEsoGBwPsi8oF3e2sRWeQtdiVwCzBcRNZ6f66NRLzGGFOTReqqp7eAtwJs/w641nv7cyD4ZVHGGGMqRJW46qmGei7SAVSQmnCeNeEcoWacZ004x/NUyyk8jDHGlB+rURhjjAnJEkWEicg1IrJFRLaJyH0BHp8uIrl+Hfq3RSLOiyEiL4rIfhHZGORxEZE072uwXkR6VXSMF6sE5zhURPL93sffV3SMF6sk869Vk/eyJOdZ5d/PUlFV+4nQDxANZAEdgTrAOqB7sTLTgfRIx3qR5zkY6AVsDPL4tcC/8Fy8MAD4KtIxh+EchwL/jHScF3mOrYBe3tsNgG8D/L1Wh/eyJOdZ5d/P0vxYjSKy+gHbVHW7qp4C5gM3RDimcqeqnwEHQxS5AZirHl8CjUWkVcVEVz5KcI5VnqrmqOpq7+2jQOH8a/6qw3tZkvOsUSxRRFYbYI/f/WwC/0GO81bjF4pIu4oJrUKV9HWo6gaKyDoR+ZeIJEQ6mIsRYv61avVeXmCeuWrzfl6IJYrK7z0gTlWTgI+AORGOx5TNaqCDqvYE/gq8Hdlwyq6k869VdRc4z2rzfpaEJYrI2gv41xDaerf5qGqeqp703n0e6F1BsVWkC74OVZ2qHlHVY97bi4DaIlLlFhovwfxr1eK9vNB5Vpf3s6QsUUTWSqCziMSLSB1gEvCuf4Fi7bvX42kvrW7eBf7Te8XMACBfPeuRVBsi0tI7fxki0g/P/15eZKMqnRLOv1bl38uSnGd1eD9Lo9JOClgTqOoZEXEBH+C5AupFVf1aRB4BMlX1XSBVRK7Hs+LfQTxXQVUpIvIqnqtEYr1zfP0BqA2gqrOARXiultkG/Aj8NDKRll0JznE8cKeInAGOA5PUe/lMFVI4/9oGEVnr3fYA0B6qz3tJyc6zOryfJWYjs40xxoRkTU/GGGNCskRhjDEmJEsUxhhjQrJEYYwxJiRLFMYYY0KyRGGMKRMR+b13aplrIh2LCS9LFMaYshoC/Afws0gHYsLLEoWpNETkRhFREenqty1ZRK4tx2M8LyLdy2t/FaH4ayAi1wdau6SM+z7rXU9ho4i8JyKNg5S7REQ+FZFov8178Ez690+/cs1E5N/lEZupPCxRmMpkMvC593ehZDwjfcuFqt6mqpvKa3/lRURCzZKQjN9roKrvquqj5XTo46qarKo98Iz8/0WQcrcCb6rqWb9t9YFlQCO/2HKBHBG5spziM5WAJQpTKXhn6rwKTzPGJO+2OsAjwETvt96JItJERN72to1/KSJJ3rIPicgcEVkmIrtE5Cci8piIbBCRf3sneUNElopIH+/ta0RktXeq6I8DxJQgIiu8x14vIp29251+258t/JYtIsdE5CnxrIr2sYg0826/XURWeo/zhohc6t0+W0RmichXwGMi0k9ElovIGhFxi8gVQV6D6SKS7t1HnIh84o3vYxFp77fvNO9+tovI+BK8DcsJPiX4VOAdv9emEZ6Fmu7yPubv7QDbTBVmicJUFjcA/1bVb4E8EentXczp98AC77feBcDDwBrvtOsPAHP99tEJGI5n8sQMYImqJuKZi+c6/4N5P8T/AYzzThU9IUBMM4CnVTUZ6ANki0g3YCJwpXf7Wc59KNbDM0dXAvApnvmewPNNvK/3OJsp2qbfFnCo6kzgG2CQqqZ4z/t/g7wG/v4KzPG+HvOANL/HWuFJvmOAkDUQb7IbQbFJKb2P1QE6qupOv80TgHdUdSMQU5hEvTKBQaGOZ6oWSxSmspiMZ4U/vL8nByl3FfAygKp+AjQVkYbex/6lqqeBDXgmWSxsK98AxBXbzwDgM1Xd4d1XoNXplgMPiMhv8aw9cBzPh2lvYKV3wrgReJayBSgACj/IM7yxAvTw1nQ24Ekq/ovcvO7XnNMIeF08624/VaxcMAOBV7y3X/Y7JsDbqlrgbWprEeT5l3jP43tvmY8ClIkFDhfbNhV41Xv7VYrWIPYDrUsQu6kibPZYE3Ei0gRPTSBRRBTPh7yKyD2l3NVJAFUtEJHTfrN5FlCGv3VVfcXbLHQdsEhEfo5nLeg5qnp/SXbh/T0buFFV14nIdDyzzBb6we/2/8NTC7pJPCurLS1tzMWc9LstQcocV9Vkb3PYB3j6KNKKlwHq+nYk0hZwAK+JZ6btWnjO4yFvkbre55hqwmoUpjIYD7ysqh1UNU5V2wE78DRfHMWzwH2hZXi/vYrIUOBAGVdZ+xIYLCLx3n01KV5ARDoC21U1DU/7fBLwMTBeRJoXPk9EOnifEuU9F4ApeDrm8caf4+0nCdV234hzi/xM99te/DXw58bbp+Pd97IQ+w9KVX8EUoFfF+9YV9VDQLSIFCaLqcAT3vcqTlXbAvvEsy4DQBdgY1niMJWTJQpTGUwG3iq27Q3v9iVA98KOXDzfWnuLyHo87e7TynJA79U5dwBvisg6zjUZ+bsZ2OhtmukBzPU24/w38KE3ho/w9AWA51t1P2/T0XA8ndAAv8Oz5vIXePohgnkM+JOIrKFoDaj4a+DvbuCn3lhuAf7rgicfhKquAdYTuNnvQ841a03l/PfrLcDpvT0MeL+scZjKx9ajMKaciMgxVa0f6TjCQUR6Ab9S1VtKUPYz4AZvTcRUA1ajMMZckKquBpZI0QF35/FeTfakJYnqxWoUxhhjQrIahTHGmJAsURhjjAnJEoUxxpiQLFEYY4wJyRKFMcaYkCxRGGOMCen/AxeWced6FezSAAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAZIAAAEMCAYAAADu7jDJAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/NK7nSAAAACXBIWXMAAAsTAAALEwEAmpwYAABCOUlEQVR4nO3deXiU5dX48e9JWGUnYZM17GtI2BlkF/RVRC0gArGoVUt1TFta97et+rY/bbX6No2WuoJGBEUQfKWCIJsMIPsuQlgDCEnYlTU5vz+eyZiELEOSyWQ5n+uaK7M88zxnksycue/7uc8tqooxxhhTUCHBDsAYY0zpZonEGGNMoVgiMcYYUyiWSIwxxhSKJRJjjDGFYonEGGNMoQQlkYhIXRH5UkR2e3/WyWW7ZiKyUER2isgOEWlRzKEaY4zJR7BaJE8Ci1W1DbDYezsn7wEvqWoHoBdwvJjiM8YY4ycJxoREEdkFDFLVoyLSCFiqqu2ybdMReENVbyj2AI0xxvitQpCO20BVj3qvfw80yGGbtsApEZkNRACLgCdVNS2nHYrIQ8BDANWqVevevn37oo/aGGPKqPXr16eoar2CPDdgiUREFgENc3jomcw3VFVFJKdmUQWgPxANHARmAvcCb+d0PFV9A3gDoEePHrpu3boCx26MMeWNiBwo6HMDlkhU9cbcHhORYyLSKFPXVk5jH0nAJlXd633Op0AfckkkWQ9+BQBPYgpbkk4zaWCra38Bxhhj/BKswfZ5wETv9YnA3By2WQvUFpGMptYQYIdfe0+/jCcxBff0jUQ2qVXYWI0xxuQhWInkRWCYiOwGbvTeRkR6iMhbAN6xkN8Di0VkKyDAm/7s/NjZy7inbyR+fDSuVuEBeQHGGGMcQTlrK9AqN2qjL0z7PyYPb5f/xqbEuHz5MklJSVy4cCHYoRhTZlWpUoUmTZpQsWLFLPeLyHpV7VGQfQbrrK2Aql/lEglrDtKnVZi1SEqRpKQkatSoQYsWLRCRYIdjTJmjqqSmppKUlERERESR7bdMlkhpUPkM8eOjcU/fiCcxJdjhGD9duHCBsLAwSyLGBIiIEBYWVuSt/jKZSEi7iKtVOPHjo9mSdDrY0ZhrYEnEmMAKxHusTHZtkX4RVHG1CreuLWOMCbCy2SLRdDh/JNhRmFImNTWVqKgooqKiaNiwIY0bNyYqKoratWvTsWPHYo3l008/ZceOn852/+Mf/8iiRYuueT/79++nc+fO1/Qcl8t1zccpakuXLmXEiBHBDsP4qWwmEoCz3wU7AlPKhIWFsWnTJjZt2sSkSZP47W9/67sdElL0b5UrV67k+lj2RPL8889z4425zvEtUh6Pp1iOY8qOMpxIdgc7AlOGpKWl8eCDD9KpUyeGDx/O+fPnAUhMTOTmm2+me/fu9O/fn2+//RZwWgJDhgwhMjKSoUOHcvDgQQDuvfdeJk2aRO/evXn88cdzfL7H42HevHk89thjREVFkZiYyL333susWbMAWLt2LS6Xi65du9KrVy/Onj3L/v376d+/P926daNbt25+JYOXXnqJnj17EhkZyZ/+9Cff/dWrVwcgPT2dhx9+mPbt2zNs2DBuueUWXwzr169n4MCBdO/enZtuuomjR53SeYMGDeKJJ56gV69etG3blhUrVgDQp08ftm/f7jvGoEGDWLduHd988w19+/YlOjoal8vFrl27rorz2Wef5eWXX/bd7ty5M/v37wcgISGBXr16ERUVxS9/+UvS0tJIS0vj3nvvpXPnznTp0oVXX33Vj7+wKYyyOUaCWCIp7db/Bk5uKtp91omC7v9boKfu3r2bDz/8kDfffJO77rqLTz75hJiYGB566CGmTJlCmzZtWLNmDQ8//DBfffUVjz76KBMnTmTixIm88847xMbG8umnnwLOac4ej4fQ0FCGDh2a4/NHjhzJiBEjGD16dJY4Ll26xNixY5k5cyY9e/bkzJkzVK1alfr16/Pll19SpUoVdu/ezbhx48ir3tzChQvZvXs333zzDarKyJEjWb58OQMGDPBtM3v2bPbv38+OHTs4fvw4HTp04P777+fy5cs8+uijzJ07l3r16jFz5kyeeeYZ3nnnHcBpaX3zzTfMnz+f5557jkWLFjF27Fg++ugjnnvuOY4ePcrRo0fp0aMHZ86cYcWKFVSoUIFFixbx9NNP88knn/j1N9m5cyczZ85k5cqVVKxYkYcffpgPPviATp06cfjwYbZt2wbAqVOnruEvbQqibCaS0MqWSEyRioiIICoqCoDu3buzf/9+zp07h8fjYcyYMb7tLl68CMCqVauYPXs2APfccw+PP/64b5sxY8YQGhqa5/Nzs2vXLho1akTPnj0BqFmzJgA//PADbrebTZs2ERoaynff5d21u3DhQhYu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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "The minimum energy is E_g(0.75)=-1.14559912408428 MJ/mol and is attained for R_min =0.6 Å\n" ] } ], "source": [ "\n", "plt.plot(np.array(radius2),E2_th,'orange')\n", "plt.plot(np.array(radius2),E2,'x')\n", "plt.ylabel('Energy (MJ/mol)')\n", "plt.xlabel('Atomic separation R (Å)')\n", "plt.legend(['Theoretical eigenvalues', 'Eigenvalues computed with Perceval'])\n", "plt.show()\n", "\n", "\n", "\n", "plt.plot(np.array(radius2),E2_th,'orange')\n", "plt.plot(np.array(radius2),E2,'x')\n", "plt.axis([0.3,2,-1.2,-0.6])\n", "plt.ylabel('Energy (MJ/mol)')\n", "plt.xlabel('Atomic separation R (Å)')\n", "plt.legend(['Theoretical eigenvalues', 'Eigenvalues computed with Perceval'])\n", "plt.show()\n", "\n", "min_value=min(E2)\n", "min_index = E2.index(min_value)\n", "print('The minimum energy is E_g('+str(radius2[min_index])+')='+str(E2[min_index])+' MJ/mol and is attained for R_min ='+str(radius1[min_index])+' Å')\n", "\n" ] }, { "cell_type": "markdown", "id": "5cc56c1e", "metadata": {}, "source": [ "### Simulation n°3" ] }, { "cell_type": "code", "execution_count": 14, "id": "75e1e21b", "metadata": {}, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "a108c1e94309416fb558969a5447e8e4", "version_major": 2, "version_minor": 0 }, "text/plain": [ "Minimizing...: 0it [00:00, ?it/s]" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "tq = tqdm(desc='Minimizing...') #New progress bar\n", "radius3=[]\n", "E3=[]\n", "init_param=[]\n", "\n", "H=H3\n", "\n", "for R in range(len(H)): #We try to find the ground state eigenvalue for each radius R\n", " radius3.append(H[R][0])\n", " if (init_param==[]): #\n", " init_param = [2*(np.pi)*random.random() for _ in List_Parameters]\n", " else:\n", " for i in range(len(init_param)):\n", " init_param[i]=VQE.get_parameters()[i]._value\n", " \n", " # Finding the ground state eigen value for each H(R)\n", " result=minimize(minimize_loss,init_param,method='Nelder-Mead')\n", " \n", " E3.append(result.get('fun'))\n", " tq.set_description('Finished' )\n", " " ] }, { "cell_type": "markdown", "id": "9a5bbc69", "metadata": {}, "source": [ "#### Simulation 3: computing the theoretical eigenvalues of H\n", "\n", " We use the numpy linalg package." ] }, { "cell_type": "code", "execution_count": 15, "id": "d50017fd", "metadata": {}, "outputs": [], "source": [ "E3_th=[]\n", "for h in H:\n", " l0=np.linalg.eigvals(h[1])\n", " l0.sort()\n", " E3_th.append(min(l0))" ] }, { "cell_type": "markdown", "id": "cbbe1d0e", "metadata": {}, "source": [ "#### Simulation 3: plotting the results\n", "\n", "The minimum eigenvalue of H is plotted in orange. \n", "\n", "The eigenvalues found with Perceval are the crosses" ] }, { "cell_type": "code", "execution_count": 16, "id": "6e91159d", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXgAAAEICAYAAABVv+9nAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/NK7nSAAAACXBIWXMAAAsTAAALEwEAmpwYAAA1lklEQVR4nO3deXxU5fX48c9JWBIUQQggghiMsoWEhCVCkEUQtIJYyyYSCvqtijbka9O6tnX72dZWxa8xWtxFg7KJa61SFdQyCoR9FyK7CAElgGwhOb8/7sw4CVkmy2TC5Lxfr3ll5j73zj1zkzl55sy9zyOqijHGmNATFuwAjDHGBIYleGOMCVGW4I0xJkRZgjfGmBBlCd4YY0JUvWAH4CsqKkqjo6ODHYYxxpwxli1btl9VW5TUVqsSfHR0NNnZ2cEOwxhjzhgisr20NivRGGNMiLIEb4wxIcoSvDHGhKhaVYM3Z6b8/Hx27drF8ePHgx2KMSErIiKCtm3bUr9+fb+3sQRvqmzXrl00btyY6OhoRCTY4RgTclSVAwcOsGvXLtq3b+/3dgEt0YjI70RknYisFZE3RSSiOp9/2uc5uHL2F1nmytnPtM9zqnM3phzHjx+nefPmltyNCRARoXnz5hX+lBywBC8ibYA0oKeqdgXCgeurcx/xbZuQ+sYKb5J35ewn9Y0VxLdtUp27MX6w5G5MYFXmPRboEk09IFJE8oFGwHfV+eTJMVFk3pBI6usuUhLOImtNIZk3JJIcE1WduzHGmDNSwHrwqrobeBzYAewB8lR1fvH1ROQWEckWkezc3NwK7yc5JoqUpm+T8fVxUi5tZ8m9Djpw4AAJCQkkJCRw3nnn0aZNGxISEmjatCldunSp0Vjeeecd1q9f7318//3388knn1T4ebZt20bXrl0rtE1ycnKF91PdFi5cyPDhw4MdhnELZInmXOBaoD1wPnCWiKQUX09Vn1fVnqras0WLEq+2LZMrZz9Z+4eS1mkzWYt3nFaTN6GvefPmrFy5kpUrVzJ58mR+97vfeR+HhVX/n/ipU6dKbSue4B9++GGuuOKKao+hJC6Xq0b2Y84cgfyS9Qpgq6rmqmo+MA+o1i6Gp+aeecmLpHda7ZRrfGryxhQUFHDzzTcTGxvL0KFDOXbsGAA5OTlcddVV9OjRg379+rFx40bA6TkPGjSI+Ph4Bg8ezI4dOwCYNGkSkydP5tJLL+Wuu+4qcXuXy8V7773HnXfeSUJCAjk5OUyaNIm5c+cCsHTpUpKTk+nWrRtJSUkcPnyYbdu20a9fP7p370737t39StKPPfYYvXr1Ij4+ngceeMC7/OyzzwagsLCQ22+/nU6dOjFkyBCuvvpqbwzLli1jwIAB9OjRgyuvvJI9e/YAMHDgQO6++26SkpLo0KEDX375JQC9e/dm3bp13n0MHDiQ7OxslixZQp8+fUhMTCQ5OZlNmzadFueDDz7I448/7n3ctWtXtm3bBkBWVhZJSUkkJCRw6623UlBQQEFBAZMmTaJr167ExcXx5JNP+vEbNmUJZA1+B9BbRBoBx4DBQLUONLN6V55Tc1+/EwpaeWvyq3flWakmWJbdAT+urN7nPDcBevxfpTbdvHkzb775Ji+88AJjxozhrbfeIiUlhVtuuYVp06ZxySWXsHjxYm6//XY+++wzpkyZwsSJE5k4cSIvv/wyaWlpvPPOO4BzOqjL5SI8PJzBgweXuP2IESMYPnw4o0aNKhLHyZMnGTt2LLNmzaJXr14cOnSIyMhIWrZsyX/+8x8iIiLYvHkz48aNK3M8pvnz57N582aWLFmCqjJixAi++OIL+vfv711n3rx5bNu2jfXr17Nv3z46d+7MTTfdRH5+PlOmTOHdd9+lRYsWzJo1iz/+8Y+8/PLLgPPJZMmSJXz44Yc89NBDfPLJJ4wdO5bZs2fz0EMPsWfPHvbs2UPPnj05dOgQX375JfXq1eOTTz7hvvvu46233vLrd7JhwwZmzZrFokWLqF+/PrfffjszZswgNjaW3bt3s3btWgAOHjxYgd+0KUnAEryqLhaRucBy4BSwAni+OvcxeUCMc2dTJBQ4PbPkmChL7sarffv2JCQkANCjRw+2bdvGkSNHcLlcjB492rveiRMnAPjqq6+YN28eABMmTOCuu+7yrjN69GjCw8PL3L40mzZtonXr1vTq1QuAc845B4CffvqJ1NRUVq5cSXh4ON98802ZzzN//nzmz59PYmIiAEeOHGHz5s1FEvx///tfRo8eTVhYGOeddx6XX365N4a1a9cyZMgQwPl007p1a+92v/rVr4ocJ4AxY8YwdOhQHnroIWbPnu39x5WXl8fEiRPZvHkzIkJ+fn6Zcfv69NNPWbZsmfdYHDt2jJYtW3LNNdfw7bffMmXKFIYNG8bQoUP9fk5TsoCeRaOqDwAPlLtiVYX/nOBNkFWypx0oDRs29N4PDw/n2LFjFBYW0rRpU1auXFmh5zrrrLMAKr19SZ588klatWrFqlWrKCwsJCKi7EtFVJV7772XW2+9tcL7UlViY2P56quvSmz3HKvw8HDv9wxt2rShefPmrF69mlmzZjFt2jQA/vznP3P55Zfz9ttvs23bNgYOHHja89WrV4/CwkLvY8853KrKxIkT+dvf/nbaNqtWreLjjz9m2rRpzJ492/vpwlROaIxFEx5hCd747ZxzzqF9+/bMmTMHcBLOqlWrAOdMlJkzZwIwY8YM+vXrV6HtGzduzOHDh0/bpmPHjuzZs4elS5cCcPjwYU6dOkVeXh6tW7cmLCyM119/nYKCgjJjv/LKK3n55Zc5cuQIALt372bfvn1F1unbty9vvfUWhYWF7N27l4ULF3pjyM3N9Sb4/Pz8IvX10owdO5Z//OMf5OXlER8fDzg9+DZt2gDw6quvlrhddHQ0y5cvB2D58uVs3boVgMGDBzN37lxv3D/88APbt29n//79FBYWMnLkSB555BHvtqbyQiTBR0KBjYNi/DdjxgxeeuklunXrRmxsLO+++y4ATz/9NK+88grx8fG8/vrrPPXUUxXa/vrrr+exxx4jMTGRnJyfr6hu0KABs2bNYsqUKXTr1o0hQ4Zw/Phxbr/9dqZPn063bt3YuHGj91NCaYYOHcoNN9xAnz59iIuLY9SoUaf9Qxk5ciRt27alS5cupKSk0L17d5o0aUKDBg2YO3cud999N926dSMhIcGvL3VHjRrFzJkzGTNmjHfZXXfdxb333ktiYmKpZxWNHDmSH374gdjYWDIzM+nQoQMAXbp04ZFHHmHo0KHEx8czZMgQ9uzZw+7duxk4cCAJCQmkpKSU2MM3FSOqGuwYvHr27KmVmvDji1/BkS1w9erqD8qUa8OGDXTu3DnYYRgfR44c4eyzz+bAgQMkJSWxaNEizjvvvGCHZaqopPeaiCxT1Z4lrR8ag42FR8IpK9EY4zF8+HAOHjzIyZMn+fOf/2zJvY4KkQRvNXhjfHnq7qZuC50afKHV4I0xxldoJPh6VqIxxpjiQiPBh7lLNLXoC2NjjAm20Ejw9SIBhcKTwY7EGGNqjdBI8OGRzk87F77OCg8P9w4ZnJCQwKOPPgrAb37zmyKjOwaLZyCwUFZ8JE1/VfbYXH311Rw8eJCDBw/y7LPPepf7O2TxpEmTvENZdO/evdQrfIPh1VdfJTU1tcrPE2IJ3urwtV2gplmMjIz0DhG8cuVK7rnnHgBefPHFGh8Tvq6qbIKvrA8//JCmTZueluAr4rHHHmPlypU8+uijFRr+obwrjmuLEEnw7vE7LMHXejU9zaJneFuAl156iQ4dOpCUlMTNN9/s7SHl5uYycuRIevXqRa9evVi0aBHgDHd70003MXDgQC666CIyMjIAuOeee3jmmWe8+/AMi3vkyBEGDx5M9+7diYuL817d6qt47zI1NdV7qX9pQ/lmZGTQpUsX4uPjuf7602e9LCgo4A9/+ANdu3YlPj6ep59+GnAG9UpMTCQuLo6bbrrJOyBadHQ09957LwkJCfTs2ZPly5dz5ZVXEhMT4x1rZuHChfTv359hw4bRsWNHJk+e7B1XxrfHPXfuXCZNmlTiUMmlDcm8detW75W4f/rTn0r8vT322GPe4/273/2OQYMGAfDZZ58xfvx47+vYv38/99xzDzk5OSQkJHDnnXcCzoVeo0aNolOnTowfP57yLujs378/W7ZsAUoeytjzun//+9/TrVs3vvrqK1577TXi4+Pp1q0bEyZMAEr+WyosLCQ6OrrI6JiXXHIJe/fu5f333+fSSy8lMTGRK664gr1795YZZ4Wpaq259ejRQytl20zVGageXFe57U2VrF+/vkLrL9qSq4kPz9cnPt6oiQ/P10VbcqscQ1hYmHbr1s17mzlzpqqqDhgwQJcuXaq7d+/WCy+8UA8cOKAnT57Uyy67TH/729+qquq4ceP0yy+/VFXV7du3a6dOnVRV9YEHHtA+ffro8ePHNTc3V5s1a6YnT57U5cuXa//+/b377ty5s+7YsUPz8/M1Ly9PVVVzc3M1JiZGCwsLVVX1rLPOUlXVBQsW6LBhw7zb/va3v9VXXnlFT548qX369NF9+/apqurMmTP1xhtvVFXV1q1b6/Hjx1VV9ccffzzttT/77LM6cuRIzc/PV1XVAwcO6LFjx7Rt27a6adMmVVWdMGGCPvnkk6qqeuGFF+qzzz6rqqp33HGHxsXF6aFDh3Tfvn3asmVLb5wNGzbUnJwcPXXqlF5xxRU6Z86cIq9FVXXOnDk6ceJEVVWdOHGidx1V1UGDBuk333yjqqpff/21Xn755aqqes011+j06dNVVTUzM7PI83l89dVXOmrUKFVVveyyy7RXr1568uRJffDBB3XatGne15Gbm6tbt27V2NhY77YLFizQc845R3fu3KkFBQXau3dv7+/Xl2+8s2fP1qSkJF2/fr0OHz5cT548qaqqt912mzdWQGfNmqWqqmvXrtVLLrlEc3NzvcdctfS/pbS0NH355Ze9x2Lw4MGqqvrDDz94/0ZeeOEFTU9PV1XVV155xfv36auk9xqQraXk1BC50Mlq8GeS5JgoUi5tR8ZnW0gbdHG1DO/sKdGUZsmSJQwYMIBmzZoBztC/nqF5P/nkkyKlhUOHDnkH8xo2bBgNGzakYcOGtGzZkr1795KYmMi+ffv47rvvyM3N5dxzz+WCCy4gPz+f++67jy+++IKwsDB2797N3r17/bqKtKyhfOPj4xk/fjy//OUv+eUvf3natp988gmTJ0+mXj3n7dysWTNWrVpF+/btveO/TJw4kWeeeYY77rgDgBEjRgAQFxfHkSNHaNy4MY0bN6Zhw4benmZSUhIXXXQRAOPGjeO///3vaePcl6asIZUXLVrkHTt+woQJ3H333adt36NHD5YtW8ahQ4do2LAh3bt3Jzs7my+//NLbsy9LUlISbdu2BSAhIYFt27Zx2WWXnbbenXfeySOPPEKLFi146aWXSh3KGJzveUaOHAk4nyRGjx5NVJTzt+v5uyrtb2ns2LE8/PDD3HjjjcycOZOxY8cCzhwDY8eOZc+ePZw8eZL27duX+9oqIsQSvJVozgSunP1kLd5B2qCLyVq8g94xzYM6hn9hYSFff/11iUP1Fh9u2DOw1ujRo5k7dy7ff/+99806Y8YMcnNzWbZsGfXr1yc6Oto7RK5HWUPoljaU77/+9S+++OIL3n//ff7yl7+wZs0abzKvLM/rCgsLK/Iaw8LCvK9RRIps43nsu7z46/Mob0jl4s9dXP369Wnfvj2vvvoqycnJxMfHs2DBArZs2eLXuEel/d6Ke+yxx4r801qwYEGpQxlHREQQHh5e5n5L+1vq06cPW7ZsITc3l3feecdbmpoyZQrp6emMGDGChQsX8uCDD5b72irCavCmRnmnWbwhkfShHWtsmsVevXrx+eef8+OPP3Lq1Kkisw8NHTrUW7cG/BrnfezYscycOZO5c+d6e6l5eXm0bNmS+vXrs2DBArZv337adhdeeCHr16/nxIkTHDx4kE8//RQofSjfwsJCdu7cyeWXX87f//538vLyvJ8uPIYMGcJzzz3nTWI//PADHTt2ZNu2bd668uuvv86AAQMqcMScTz1bt26lsLCQWbNmeXvArVq1YsOGDRQWFvL222971/cdKrmsIZX79u1bZEjm0vTr14/HH3+c/v37069fP6ZNm0ZiYuJp/xxKG6K5Mkobyri4QYMGMWfOHA4cOOBdD0r/WxIRrrvuOtLT0+ncuTPNmzcHig67PH369Gp5Db5CJMG7e/B2NWut551m0d1j951msSqOHTtW5DRJz1k0Hm3atOG+++4jKSmJvn37Eh0dTZMmzhe7GRkZZGdnEx8fT5cuXbxfNJYlNjaWw4cP06ZNG28pZfz48WRnZxMXF8drr71Gp06dTtvuggsuYMyYMXTt2pUxY8Z4Z2YqbSjfgoICUlJSiIuLIzExkbS0NJo2bVrkOX/zm9/Qrl077xd+b7zxBhEREbzyyiuMHj2auLg4wsLCmDx5coWOaa9evUhNTaVz5860b9+e6667DoBHH32U4cOHk5ycXGRGqOJDJZc2pPJTTz3FM888Q1xcHLt37y51//369WPPnj306dOHVq1aERERUeL4/M2bN6dv37507drV+yVrZZU2lHFxsbGx/PGPf2TAgAF069aN9PR0oOy/pbFjx5KVleX9xAfOF/SjR4+mR48e3nJPdQqN4YIProMPu8Jls6Hd6PLXN9XqTBku2DOE7qlTp7juuuu46aabvEnLFLVw4UIef/xxPvjgg2CHYnxUdLjg0OjB17MevCnfgw8+SEJCAl27dqV9+/YlfmFpTCgJjS9Zw6wGb8r3+OOPBzuEM8bAgQNLnGfVnFlCqwdvCT5oalOpz5hQVJn3WGgkeDsPPqgiIiI4cOCAJXljAkRVOXDgQImn8pYlREo07nNerQcfFG3btmXXrl3k5uYGOxRjQlZERIT34i1/hUaCF7Fp+4LIc1GKMaZ2CY0SDThlGkvwxhjjFWIJ3mrwxhjjEWIJ3nrwxhjjEUIJ3mrwxhjjK4QSfKRdyWqMMT5CK8EXWg3eGGM8QijBR1gP3hhjfIRQgrcvWY0xxpcleGOMCVGhk+Dr2XnwxhjjK6AJXkSaishcEdkoIhtEpE/AdhZmp0kaY4yvQI9F8xTwkaqOEpEGQKOA7clKNMYYU0TAEryINAH6A5MAVPUkcDJQ+3NKNJbgjTHGI5AlmvZALvCKiKwQkRdF5KziK4nILSKSLSLZVRpuNjwStAAKT1X+OYwxJoQEMsHXA7oD/1TVROAn4J7iK6nq86raU1V7tmjRovJ7C7dp+4wxxlcgE/wuYJeqLnY/nouT8AMj3KbtM8YYXwFL8Kr6PbBTRDq6Fw0G1gdqf5bgjTGmqECfRTMFmOE+g+Zb4MaA7cnmZTXGmCICmuBVdSXQM5D78LIavDHGFBE6V7J6evA24JgxxgChmOCtB2+MMUBIJnirwRtjDIRUgrcavDHG+AqhBG8lGmOM8RU6Cb6eJXhjjPEVOgneavDGGFNECCV4q8EbY4yvEErwVqIxxhhfoZPgJQzCGliCN8YYt9BJ8OCe1clq8MYYA+WMRSMibYHrgX7A+cAxYC3wL+DfqloY8AgrItzmZTXGGI9SE7yIvAK0AT4A/g7sAyKADsBVwB9F5B5V/aImAvVLeKSNRWOMMW5l9eCfUNW1JSxfC8xzDwHcLjBhVZJNvG2MMV6l1uB9k7uIRPpM3OFpP6mqWwIZXIWFR1gN3hhj3Mr9klVERgArgY/cjxNE5L0Ax1U51oM3xhgvf86ieQBIAg6CdxKP9oELqQoswRtjjJc/CT5fVfOKLdNABFNlluCNMcbLnyn71onIDUC4iFwCpAGuwIZVSVaDN8YYL3968FOAWOAE8AaQB9wRwJgqz3rwxhjjVW4PXlWP4pzz/hf3/dqrniV4Y4zx8OcsmmQRWQ9sdD/uJiLPBjyyyrAevDHGePlTonkSuBI4AKCqq4D+gQyq0qwGb4wxXn4NNqaqO4stKghALFUXHgmFJ6GwdoZnjDE1yZ8Ev1NEkgEVkfoi8gdgQ4DjqhzPmPCF1os3xhh/Evxk4Lc4A4/tBhLcj2sfT4K3AceMMabc4YLDgadUdXwNxVM1Nm2fMcZ4ldmDV9UC4EL3yJG1n028bYwxXv5cyfotsMg9wNhPnoWqOjVgUVWWzctqjDFe/iT4HPctDGjsXlZ7x6IBS/DGGIN/CX69qs7xXSAiowMUT9VYDd4YY7z8OYvmXj+XBZ/V4I0xxqusOVl/AVwNtBGRDJ+mc4BTgQ6sUupZicYYYzzKKtF8B2QDI4BlPssPA78LZFCVZjV4Y4zxKjXBq+oqEVkLXKmq0yu7A/e59NnAblUdXtnn8YvV4I0xxsuf8+AvqOJ58P9LTQ1tYDV4Y4zx8ucsmq1U8jx4EWkLDAP+AqRXNki/WYnGGGO8KnsevL/+D7irEttVjqdEY2PRGGOMXzM6PVSZJxaR4cA+VV0mIgPLWO8W4BaAdu3aVWZXPwurDxJuPXhjjMGPBC8iLXB64bFAhGe5qg4qZ9O+wAgRudq93TkikqWqKb4rqerzwPMAPXv2rPoVsuGRVoM3xhj8u9BpBs50fe2Bh4BtwNLyNlLVe1W1rapGA9cDnxVP7gFh0/YZYwzgX4JvrqovAfmq+rmq3gSU13sPnvAIS/DGGIN/X7Lmu3/uEZFhOBdANavITlR1IbCwQpFVlvXgjTEG8C/BPyIiTYDfA0/jDFVQO69kBavBG2OMmz9n0XzgvpsHXB7YcKqB9eCNMQYoe7Cxpylj3HdVTQtIRFVlNXhjjAHK7sFn+9x/CHggwLFUj/BIOLEv2FEYY0zQlTXYmHeAMRG5oyoDjtWoepFw1Grwxhjjz2mSUFun6CuJ1eCNMQbwP8GfOawGb4wxQNlfsh7m5557IxE55GkCVFXPCXRwlRIeaYONGWMMZdfga2YEyOoWHgmFVoM3xphSSzQicnZ5G/uzTo3zXOikZ87XBsYYEwhl1eDfFZEnRKS/iJzlWSgiF4nI/4jIx8BVgQ+xgrzT9lkv3hhTt5VVohnsHur3VqCviJwLnAI2Af8CJqrq9zUTZgX4zupULzK4sRhjTBCVOVSBqn4IfFhDsVQPm5fVGGOAkDxN0uZlNcYYCMkE76nBW4I3xtRtIZjgrQdvjDHgR4J3n0kTWxPBVIt6VoM3xhjwrwe/AXheRBaLyGT35B+1V5iVaIwxBvxI8Kr6oqr2BX4NRAOrReQNEamdk3/UsxKNMcaAnzV4EQkHOrlv+4FVQLqIzAxgbJXjqcHbeDTGmDrOnxr8kzgXN10N/FVVe6jq31X1GiAx0AFWxLTPc3DtLHQeuMejceXsZ9rnOUGMyhhjgsOfHvxqoJuq3qqqS4q1JQUgpkqLb9uE1Hm7cR2Jg4JjuHL2k/rGCuLb1u6vDYwxJhDKnXQbpxzTUUR8l+UB21U1LyBRVVJyTBSZYzuT+to9pCw9SVbOCjJvSCQ5JirYoRljTI3zJ8E/C3TH6ckL0BVYBzQRkdtUdX4A46uw5A4XkNJiPhmrR5M2qJ0ld2NMneVPieY7IFFVe6pqD5y6+7fAEOAfgQyuMlzfHiBr/y9Iu2Q1WYt34MrZH+yQjDEmKPxJ8B1UdZ3ngaquBzqp6reBC6tyPDX3zLj3SW/3bzJvSCT1jRWW5I0xdZI/CX69iPxTRAa4b8+6lzUE8gMcX4Ws3pXn1NzbFsCx3U5N/oZEVu+qVV8VGGNMjfCnBj8RuB24w/14EfAHnOReqy52mjwgxrmT1waOfQeqJMdEWR3eGFMnlZng3Rc4faiqlwNPlLDKkYBEVVWN2jhj0Zz8ERo2C3Y0xhgTFGWWaFS1ACis9ePPFBd5vvPz2O7gxmGMMUHkT4nmCLBGRP4D/ORZqKppAYuqqiLbOD+P7oamccGNxRhjgsSfBD/PfTtzNHIn+GPfBTcOY4wJonITvKpOF5FIoJ2qbqqBmKrOU6I5aiUaY0zd5c9gY9cAK4GP3I8TROS9AMdVNeENoWFzq8EbY+o0f86DfxBnULGDAKq6ErgoYBFVl8g2VqIxxtRp/iT4/BIGFSssbyMRuUBEFojIehFZJyL/W7kQKymyjZVojDF1mj8Jfp2I3ACEi8glIvI04PJju1PA71W1C9Ab+K2IdKlCrBXTqI2VaIwxdZo/CX4KEAucAN4EDvHzVa2lUtU9qrrcff8wztyubSodaUVFng/H90FhrRpNwRhjaow/Z9EcBf7ovlWKiETjjEK5uIS2W4BbANq1a1fZXZyuURtA4dj3cNYF1fe8xhhzhig3wYtIB5yxZ6J911fVQf7sQETOBt4C7lDVQ8XbVfV54HmAnj17ql9R+8NzsdOx3ZbgjTF1kj8XOs0BpgEvAgUVeXIRqY+T3Geoas1eLNXI52pWY4ypg/xJ8KdU9Z8VfWJx5vh7CdigqlMrHFlV2Xg0xpg6zp8vWd8XkdtFpLWINPPc/NiuLzABGCQiK923q6sWbgU0jIKw+nYuvDGmzvJ3PHiAO32WKeVc7KSq/8WZwzU4JMzpxVuJxhhTR/lzFk37mggkICLtXHhjTN1VaolGRO7yuT+6WNtfAxlUtYk830o0xpg6q6wa/PU+9+8t1nZVAGKpfo1suAJjTN1VVoKXUu6X9Lh2imwDp45A/mmn3xtjTMgrK8FrKfdLelw72bjwxpg6rKwvWbuJyCGc3nqk+z7uxxEBj6w6+M7s1KRzcGMxxpgaVmqCV9XwmgwkICLtalZjTN3lz4VOZ65GdjWrMabuCu0EX+8sqN/EevDGmDoptBM8uCf+sHPhjTF1T+gneLua1RhTR4V+greLnYwxdVToJ/jI8+H491BYoaHsjTHmjBfSCX7a5zm4Dl4EWgAn9gHgytnPtM9zghyZMcYEXkgn+Pi2TUhd0ArXkTg4uhtXzn5S31hBfNsmwQ7NGGMCzp/x4M9YyTFRZF7bjNS595Cy4DuyNvxI5g2JJMdEBTs0Y4wJuJDuwQMkx8aS0vzfZGSHk3JpO0vuxpg6I+QTvGtnPlk/DCctZilZi3fgytkf7JCMMaZGhHSC99TcMy9dTnqzTDLHJZL6xgpL8saYOiGkE/zqXXlOzb1zDJw4QHKrg2TekMjqXXnBDs0YYwIupL9knTwgxrnz46XOz/2LSY4Zb3V4Y0ydENI9eK8msc7AYwcWBzsSY4ypMXUjwYfVg2Y9Yf/XwY7EGGNqTN1I8ABRveHgSig4HuxIjDGmRtSdBN/8UijMhx9WBDsSY4ypEXUrwYPV4Y0xdUbdSfCNzodGF1gd3hhTZ9SdBA9OHd568MaYOqJuJfjml8JP2+DY3mBHYowxAVe3EnxUb+en9eKNMXVA3Urw53YHqWd1eGNMnVBnEvy0z3Nwbf8Jzu3m7cHb7E7GmFBWZxJ8fNsmzkiSBb+AA0twbd5nszsZY0JaSA825is5JorMGxJJff04KedcS9aGZWSm9LKBx4wxISugPXgRuUpENonIFhG5J5D78kdyTBQpSeeTsW8cKRdtt+RujAlpAUvwIhIOPAP8AugCjBORLoHanz9cOfvJWvYDaTHZZG1qimvzvmCGY4wxARXIHnwSsEVVv1XVk8BM4NoA7q9M3tmdbkgk/ao4Mtv9ldQZS212J2NMyApkgm8D7PR5vMu9rAgRuUVEskUkOzc3N2DBeGd3iomC84eT3HwPmd0+stmdjDEhK+hn0ajq86raU1V7tmjRImD7mTwg5ueae3gDiJ5A8onnmHypnUVjjAlNgUzwu4ELfB63dS+rHWJucoYP3pYV7EiMMSYgApnglwKXiEh7EWkAXA+8F8D9VUzTrtCsF3z7MqgGOxpjjKl2AUvwqnoKSAU+BjYAs1V1XaD2V1HTPs/BFXkbHFwDPywD7MpWY0xoCWgNXlU/VNUOqhqjqn8J5L4qKr5tE1I/Px/X0R7w7cves2zsylZjTKioM1eyFpccE0Xm+B6kTr+XlJ8+JCtvOZnju9vFT8aYkBH0s2iCKTkmipTuTcnY8ytS2n9ryd0YE1LqdIJ35ewna00haR3Wk7XxHFyrsoMdkjHGVJs6m+CLXNl6w41kxjxL6tytuLYE7mIrY4ypSXU2wRe5sjUiitVNU7ktagarV3/qXcfOqjHGnMnqbIIvcmUrEB9/Bf/cP574g5lwPNfOqjHGnPHq7Fk0xSVfHEXm6ItInXU7KW+8QtbuxJ97+MYYcwaqsz34kiTH9yCl02Eyvokl5eI9ltyNMWc0S/A+XDn7ydranrSLV/LC6ka8MC/rtHaryRtjzhSW4N28Z9WM7076jXeS3mE5f13ShBfemVWk3WryxpgzhdXg3YqcVQPc/Ov7Yfr9TF1yKYfz3yZr49lWkzfGnFGsB+9W/KwawiO4+dcPcHO7ZWQsa0Dns76HwpNFtrGSjTGmNrMEXwbX9mNk7RtIWqfNrN7fgFtfdeFa8bXTZiWbWmfa5zmnTcHo+084mO21ObYzOfZQjq06WIIvRZGa/KQ7eO7axqDKrXN2MDXref7n1aXcNvCiIr1+69GXL5BvqPi2TUh9Y4W3vfg/4WC2e9s274PCfFybvyd1xnLiW0fCqaPEn9eA1BnLcW3cDicP4tq4jdQZy4hvJXB8P/EtIXXGMlzrN8Ox73Gt/8Zpj8qHo7uJj8ondUY2rnXr4acduNatI3VGNvHNj8ORbcQ3P+a0r10DR77FtXaN097sJzicQ3yzn5z2Navh8BZca1Y77eceIf7cI6RmZeNavQoOfYNr9UpSs7KJP/cwHNpE/LmHSM1aimv1CsjbiGv1ClKzlhJ/7iHI2+jTvhzyNuBavdzdngd5G4g/N6/S7UXb1uNavczddhDy1hN/7kF3+7Iab6/Qtoc2BaTTKFqLJrvo2bOnZmfXjvFgPAmjSALf+C2Z73+K68D5XHfuF3x+tDeZY2NJ7tKBe+et5oPVe3huQg/vNq6c/azelcfkATHBehnVrsTj4vM6y2v3HSIiOSaq/Mdb9pP6xnIyx3Qg+cKGuLbkkjpvN5kjziG5TSGubUdJ/TCfzCtPknzeUVw7C0n9rCkpHX4ka1NTMi/LIbnlAae8VnAS197GpC7uTkr0ZrK2XUxm4gKSm+0EPeUk3v3nkbrmGlLOX0bWd93J7DyL5KabofAUaAGug+1J3TSJlFZfkLW3P5kX/5PkxutBC0ALcR3qSOrWO0iJ+pis3KFkRj9G8tmrnbYjcaRuv4eU5h+SdeBqMi98lOSz1/x8nGpxu8UW4NhafU5W3qhKfc8nIstUtWeJbZbg/edJPindGpKVncttUVn8c+9oUmJ28srWWAivx3MTepIcExXUhF/VJFxWu6cnWmpC3ryX1DdXkvmrNiS3OYUr50dSPzhK5pCjJLc6CPmHce1SUv97ESntt5L17YVkJn5C8jmb4dRPUPATrv2tSf3mRlKi5pOVe0WF33BTvx9Pxr5xpLV8k/TzZoDUg7AGzi28AVN3jyRj9zDS2s4nvf0nIPUhrL57vfpM/bY/GVv7kHbRUtI7LneWSziEOT+nbown45tY0jpuJD12M0iY0y7hQBhT18WQsT6atNgdpMfvAsLc64QxdVUbMta2Ji3ue9IT9gHitLl/Tl0RRcbqKNK6HSA98UcQcdoQEGHq8qZkrGxKWkIe6T0O+7QDCFOXNSZjxdmkJR4hvedR92Kf9uxGZCxvRFr3o6T3PFasHaYujSRjeSRp3Y+R3uu4dzunLYKM5RGk9ThOeq8TPn9xnvaGZCxrSFqPE6T3Kvp9ldPewN1+kvSkEtqXNCBjWYNKtRdtyy9h2/pBa/d720EXkz6042nt5SkrwdtZNH4qnsh6x+4ndcZZDDh/OxnfdCWt5Zv0PmcTqdPvJqXLCT5Y39RJCCVsD2UnYaBKCbqsJOx57hLbxyVC/hHn437WUjKHRZLc+giurUdI/aQRmZdtJfnQLjIT65E6/RApbVeRtbMrmR2nk7xqOWQfIrngKJnnxZH6ZrEEvH0NbHdiTQZSzp1ExsZRpLX9iOSGLig4C+o3hsjzSG56FimF35GxcSRpsbtIThwL9W6E8EgIb0RyvUhSlkaSsXQcaZc2JLn/yxAeAWENce08RdaWHaQNbE3Wkl/TO+lJki9uUeQ4Za1bQdqgdmQtbkDvX/z5tOOY9bVP++DU09s/9WnvP/H09u0+7cmji/yDz9rq09b72tO3zfFpT7r69PbNnvYd9O419PT2b3zaew4+vX2TT3uPy8tpH1g0dt+27omnb7sxOO3B3He1xxbTvHrP1FPVWnPr0aOH1lb/XLhFF23JLbLs+S+2aKc//Vuf+Gi9Jj74gS761/36RMZteuHdH+gTT4zXRc9318Q/zdInXnpUE++fp4s+e051+xzVfYt00dq1mvjQx97nXLQlVxMfnq+LtuQWuV+8rcTHm3Od51q/WfVwjuoPq3RR9gJNfOADfWLO25r4wLu66NNnVVf9WXVpmqproi6ad5sm/mm2PvHMHzTxjzN10Ut9Vd8IV52B6gx00XNxmnjfDH3iifGaeN8MXfRcnNM2M1J1Xmt9IvN/ndf53P2qX45R/fpm1WW/V139sOrGp/SJWbOc9nn/Vs39WvXgetWfdqqeOKiLvtmriQ/P1yc+3ljkdXh4Xl9F2yt83GrwcW2KJZRir02xVHds/gKytZScaiWaSiqpdnzr687crjf2akbW0r1k9l7N19uPOh/3W80mvdVrRZ/jSBypO+4lpdWXZO0dQGan10lutgOkPq68i0ldN8rpJe/qRmaX2SQ3+cZdSz6B68doUrfcUmoZA0ooVSBOL7l+E6jfhKk7h5Ox7TLSOqwlPW4nNGjq3Oo7P6dmn0XGkkLS+jYjfcjFznbhDX4uVV3q9DqK1w3Laq9wDb4Cjz0lpECUpqraDlX7VGax173Y/GU1+AAo/svxJPjh8a3526/iiyb85Ggn0Y26iOTzfoJju+HYd3D0O6dmuvESJ8l2WA6F+U4SL8xn6uZezj+H9l+T3mEZhDf8uZYc1oCpG+OcbbvuIr17HtQ727nVPxvXnkak/ruQlMTGZK38icwxnUnueIG73lt2Ei6rvaoJOdBvOGPqmrISfNDLMr632lyiKU/xEs6iLbna9YGP9J63VnkfF//4VVYporJlipL2VZ2PSypVeZaXdByKtxtjqhdllGiCntR9b2dygi+uvEQXyNpdVZOwJWljzhxlJXgr0QRJbajdGWPOfFaDN8aYEFVWgrehCowxJkRZgjfGmBBlCd4YY0KUJXhjjAlRluCNMSZE1aqzaEQkF++QVOWKAvaXu1ZwWGyVY7FVjsVWOaES24Wq2qKkhlqV4CtCRLJLOzUo2Cy2yrHYKsdiq5y6EJuVaIwxJkRZgjfGmBB1Jif454MdQBkstsqx2CrHYquckI/tjK3BG2OMKduZ3IM3xhhTBkvwxhgTomp9gheRq0Rkk4hsEZF7SmhvKCKz3O2LRSS6FsU2SURyRWSl+/abGorrZRHZJyJrS2kXEclwx71aRLrXRFx+xjZQRPJ8jtn9NRjbBSKyQETWi8g6EfnfEtYJyrHzM7agHDsRiRCRJSKyyh3bQyWsE5T3qZ+xBeV96rP/cBFZISIflNBWteNW2kDxteEGhAM5wEVAA2AV0KXYOrcD09z3rwdm1aLYJgGZQThu/YHuwNpS2q8G/g0I0BtYXItiGwh8EKS/t9ZAd/f9xsA3JfxOg3Ls/IwtKMfOfSzOdt+vDywGehdbJ1jvU39iC8r71Gf/6cAbJf3uqnrcansPPgnYoqrfqupJYCZwbbF1rgWmu+/PBQaLiNSS2IJCVb8AfihjlWuB19TxNdBURFrXktiCRlX3qOpy9/3DwAagTbHVgnLs/IwtKNzH4oj7YX33rfjZG0F5n/oZW9CISFtgGPBiKatU6bjV9gTfBtjp83gXp/9Re9dR1VNAHtC8lsQGMNL9UX6uiFxQA3H5w9/Yg6WP+yP1v0UkNhgBuD8KJ+L0+HwF/diVERsE6di5ywwrgX3Af1S11ONWw+9Tf2KD4L1P/w+4Cygspb1Kx622J/gz3ftAtKrGA//h5//EpnTLccbW6AY8DbxT0wGIyNnAW8AdqnqopvdflnJiC9qxU9UCVU0A2gJJItK1pvZdHj9iC8r7VESGA/tUdVmg9lHbE/xuwPe/aVv3shLXEZF6QBPgQG2ITVUPqOoJ98MXgR41EJc//DmuQaGqhzwfqVX1Q6C+iESVs1m1EZH6OAl0hqrOK2GVoB278mIL9rFz7/cgsAC4qlhTsN6n5cYWxPdpX2CEiGzDKfEOEpGsYutU6bjV9gS/FLhERNqLSAOcLxneK7bOe8BE9/1RwGfq/kYi2LEVq82OwKmb1gbvAb92nxHSG8hT1T3BDgpARM7z1BhFJAnnb7RGEoF7vy8BG1R1aimrBeXY+RNbsI6diLQQkabu+5HAEGBjsdWC8j71J7ZgvU9V9V5Vbauq0Tj54zNVTSm2WpWOW71qiTRAVPWUiKQCH+OctfKyqq4TkYeBbFV9D+eP/nUR2YLz5d31tSi2NBEZAZxyxzapJmITkTdxzqiIEpFdwAM4Xy6hqtOAD3HOBtkCHAVurIm4/IxtFHCbiJwCjgHX19A/bHB6VBOANe6aLcB9QDuf+IJ17PyJLVjHrjUwXUTCcf6pzFbVD2rD+9TP2ILyPi1NdR43G6rAGGNCVG0v0RhjjKkkS/DGGBOiLMEbY0yIsgRvjDEhyhK8McaEKEvwxtQxInK/+7L84hcjmRBjCd6YumcA8Avgf4IdiAksS/CmykTklyKiItLJZ1mCiFxdjft4UUS6VNfz1YTix0BERkgJ8wZU8rkL3GOXrxWR9z1Xa5awXqSIfO6+0MdjJ84gaR/4rNdCRD6qjthM7WEJ3lSHccB/3T89EnCu+KwWqvobVV1fXc9XXdzjg5QmAZ9joKrvqeqj1bTrY6qaoKpdca5w/G0p690EzFPVAp9lZwNf4oxr4oktF9gjIn2rKT5TC1iCN1XiHt3wMpyP+9e7lzUAHgbGunuZY0WkmYi84679fi0i8e51HxSR6SLypYhsF5Fficg/RGSNiHzkHmALEVkoIj3d968SkeXiDIv7aQkxxYozi89K9/4ucS9P8Vn+nKdXKyJHRORJcWb8+VREWriX3ywiS937eUtEGrmXvyoi00RkMfAPEUkSka/EmZXHJSIdSzkGk0Qk0/0c0SLymTu+T0Wknc9zZ7if51sRGeXHr+ErSh+yeDzwrs+xaYIz4crt7jZf75SwzJzBLMGbqroW+EhVvwEOiEgP9wQo9+PMPpOgqrOAh4AV7iFZ7wNe83mOGGAQzkBPWcACVY3DGU9lmO/O3Mn3BWCke1jc0SXENBl4yj1EbE9gl4h0BsYCfd3LC/g5mZ2FM/ZHLPA5zvg44PR8e7n3s4GiNeu2QLKqpuMMXtVPVRPdr/uvpRwDX08D093HYwaQ4dPWGuef5nCgzB6/+5/UYE4fhM/zj/YiVd3ms3g08K6qrgUaev75uWUD/cranzmzWII3VTUOZ6hT3D/HlbLeZcDrAKr6GdBcRM5xt/1bVfOBNTgDt3lqwWuA6GLP0xv4QlW3up+rpNmhvgLuE5G7ccZHP4aTBHsAS92DdQ3GmW4RnMkWPAk4yx0rQFf3J4s1OP8MfCfQmONT9mgCzBFnntkni61Xmj4407SBc1wu82l7R1UL3SWpVqVsH+l+Hd+71/lPCetEAQeLLRsPvOm+/yZFe+z7gPP9iN2cIWr1aJKmdhORZjg97zgRUZzkrCJyZwWf6gSAqhaKSL7PCIiFVOJvVFXfcJdPhgEfisitOHNzTlfVe/15CvfPV4FfquoqEZmEMwqmx08+9/8fzqeO68SZbWlhRWMu5oTP/dKmZzumqgnustHHODX4jOLrABHeJ3Kmh0sGZoszqnA9nNfxoHuVCPc2JkRYD95UxSjgdVW9UFWjVfUCYCvOx/zDOJNDe3yJu7coIgOB/ZWcLelroL+ItHc/V7PiK4jIRcC3qpqBU3+OBz4FRolIS892InKhe5Mw92sBuAHnC2Pc8e9xfw9QVm26CT9P+jHJZ3nxY+DLxc9Dv47HOT4VpqpHgTTg98W/8FXVH4FwEfEk+fHA4+7fVbSqtgX2ijN2PEAHYG1l4jC1kyV4UxXjgLeLLXvLvXwB0MXzBSNOL7GHiKzGqStPpBLcZ3vcAswTkVX8XFrxNQZY6y5hdMWZJHs98CdgvjuG/+DUusHpxSa5SyyDcL4cBfgzzrynizh9Agtf/wD+JiIrKPqJo/gx8DUFuNEdywTgf8t98aVQ1RXAakouj83n5/LPeE7/fb0NeCaZuBz4V2XjMLWPjQdv6jwROaKqZwc7jkAQke7A71R1gh/rfgFc6+75mxBgPXhjQpiqLgcWSNELnU7jPjtpqiX30GI9eGOMCVHWgzfGmBBlCd4YY0KUJXhjjAlRluCNMSZEWYI3xpgQ9f8BqeZsLo3STskAAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAZIAAAEMCAYAAADu7jDJAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/NK7nSAAAACXBIWXMAAAsTAAALEwEAmpwYAAA+9klEQVR4nO3deXxU5dXA8d9hDbJKwhKWCER2EhKWCIPsiNZd2QRiob7WUhppS+ve1uW1ra22vsVoqXVDA4LiglZbKcimg0hYZREhgGwRkiCbsmQ57x93MiQhy5DtZpLz/XzyycydO/eeXIacPPd5nvOIqmKMMcaUVi23AzDGGBPcLJEYY4wpE0skxhhjysQSiTHGmDKxRGKMMaZMLJEYY4wpE1cSiYg0F5H/ishO3/dLi9gvQkQWi8h2EdkmIh0qOVRjjDElcKtFcj+wVFU7A0t9zwvzKvCkqnYH4oAjlRSfMcaYAIkbExJFZAcwTFVTRSQcWK6qXQvs0wN4XlWvrPQAjTHGBKyOS+dtpaqpvsffAK0K2acLcExE3gY6AkuA+1U1u7ADishdwF0ADRs27NutW7fyj7qMTp3JZF/GSUIb5JBxth4RzS+hUX23/gmMMea8devWpatqi9K8t8J+i4nIEqB1IS89lPeJqqqIFNYsqgMMBmKBfcACYCrwYmHnU9XngecB+vXrp8nJyaWOvcKo8te//YhZ34zj8RGXM3N015LfY4wxlUBEvi7teysskajqqKJeE5HDIhKe59ZWYX0fB4CNqrrb9553gQEUkUiCgXd3Bknp1zCj8xckranHgMhQPJFhbodljDFl4lZn+3vAFN/jKcCiQvZZCzQTkdym1ghgWyXEViG8KekkzNtAYtR7zOywmMRJsSTM24A3Jd3t0IwxpkzcSiRPAFeJyE5glO85ItJPRF4A8PWF/BpYKiJfAAL806V4y2zzgeMkTorF0+YcnE7FExlG4qRYNh847nZoxhhTJq6M2qpoVbaPBCD5btjzGow75nYkVU5mZiYHDhzgzJkzbodiTLUVEhJCu3btqFu3br7tIrJOVfuV5pg2ZKiyNWgDmcch63uoc4nb0VQpBw4coHHjxnTo0AERcTscY6odVSUjI4MDBw7QsWPHcjuulUipbA3Cne+nU4vfrwY6c+YMoaGhlkSMqSAiQmhoaLm3+i2RVLYQSyTFsSRiTMWqiP9jlkgqW26L5IwlEmNM9WCJpLI1aON8txZJlZORkUFMTAwxMTG0bt2atm3bEhMTQ7NmzejRo0elxvLuu++ybdv50e6/+93vWLJkyUUfZ+/evfTq1eui3uPxeC76POVt+fLlXH/99W6HYQJkiaSy1Q+FWnXh9CG3IzEFhIaGsnHjRjZu3Mi0adP45S9/6X9eq1b5/1fJysoq8rWCieSxxx5j1Kgi5/iWK6/XWynnMdWHJZLKJgIhra1FEmSys7P58Y9/TM+ePRk9ejSnT58GICUlhWuuuYa+ffsyePBgvvzyS8BpCYwYMYLo6GhGjhzJvn37AJg6dSrTpk3jiiuu4N577y30/V6vl/fee4977rmHmJgYUlJSmDp1KgsXLgRg7dq1eDweevfuTVxcHCdPnmTv3r0MHjyYPn360KdPn4CSwZNPPkn//v2Jjo7m4Ycf9m9v1KgRADk5OUyfPp1u3bpx1VVXce211/pjWLduHUOHDqVv375cffXVpKY6n+dhw4Zx3333ERcXR5cuXVi1ahUAAwYMYOvWrf5zDBs2jOTkZD7//HMGDhxIbGwsHo+HHTt2XBDnI488wlNPPeV/3qtXL/bu3QtAUlIScXFxxMTE8JOf/ITs7Gyys7OZOnUqvXr1IioqiqeffjqAf2FTFjb81w0Nwi2RlGTdL+DbjeV7zEtjoO//leqtO3fu5PXXX+ef//wn48eP56233iI+Pp677rqL2bNn07lzZ9asWcP06dP5+OOPufvuu5kyZQpTpkzhpZdeYsaMGbz77ruAM8zZ6/VSu3ZtRo4cWej7b7zxRq6//nrGjh2bL45z584xYcIEFixYQP/+/Tlx4gQNGjSgZcuW/Pe//yUkJISdO3cyceJEiptLtXjxYnbu3Mnnn3+OqnLjjTeycuVKhgwZ4t/n7bffZu/evWzbto0jR47QvXt37rjjDjIzM7n77rtZtGgRLVq0YMGCBTz00EO89NJLgNPS+vzzz/nwww959NFHWbJkCRMmTOCNN97g0UcfJTU1ldTUVPr168eJEydYtWoVderUYcmSJTz44IO89dZbAf2bbN++nQULFvDpp59St25dpk+fzty5c+nZsycHDx5ky5YtABw7duwi/qVNaVgicUODNnByl9tRmIvQsWNHYmJiAOjbty979+7l1KlTeL1exo0b59/v7NmzAKxevZq3334bgNtvv517773Xv8+4ceOoXbt2se8vyo4dOwgPD6d///4ANGnSBIDvvvuOhIQENm7cSO3atfnqq6+KPc7ixYtZvHgxsbGxAJw6dYqdO3fmSySffPIJ48aNo1atWrRu3Zrhw4f7Y9iyZQtXXXUV4LTWwsPD/e+79dZb810ngPHjxzN69GgeffRR3njjDX+CPH78OFOmTGHnzp2ICJmZmcXGndfSpUtZt26d/1qcPn2ali1bcsMNN7B7927uvvturrvuOkaPHh3wMU3pWCJxQ4NwSFvldhRVWylbDhWlfv36/se1a9fm9OnT5OTk0KxZMzZu3HhRx2rYsCFAqd9fmKeffppWrVqxadMmcnJyCAkJKXZ/VeWBBx7gJz/5yUWfS1Xp2bMnq1evLvT13GtVu3Ztfz9Q27ZtCQ0NZfPmzSxYsIDZs2cD8Nvf/pbhw4fzzjvvsHfvXoYNG3bB8erUqUNOTo7/ee4cCFVlypQp/PGPf7zgPZs2beKjjz5i9uzZvPHGG/7WkqkY1kfihpBwOJsB2cX/9WmqtiZNmtCxY0fefPNNwPnFtmnTJsAZ+TR//nwA5s6dy+DBgy/q/Y0bN+bkyZMXvKdr166kpqaydu1aAE6ePElWVhbHjx8nPDycWrVq8dprr5GdXeiyPX5XX301L730EqdOnQLg4MGDHDmSvwj3oEGDeOutt8jJyeHw4cMsX77cH0NaWpo/kWRmZubr/yjKhAkT+POf/8zx48eJjo4GnBZJ27ZtAXjllVcKfV+HDh1Yv349AOvXr2fPnj0AjBw5koULF/rjPnr0KF9//TXp6enk5OQwZswYHn/8cf97TcWxROIG/1ySb9yNw5TZ3LlzefHFF+nduzc9e/Zk0SKnkPUzzzzDyy+/THR0NK+99hp/+9vfLur9t912G08++SSxsbGkpKT4969Xrx4LFizg7rvvpnfv3lx11VWcOXOG6dOnM2fOHHr37s2XX37pb/UUZfTo0UyaNImBAwcSFRXF2LFjL0hcY8aMoV27dvTo0YP4+Hj69OlD06ZNqVevHgsXLuS+++6jd+/exMTEBNS5P3bsWObPn8/48eP92+69914eeOABYmNjixzFNmbMGI4ePUrPnj1JTEykS5cuAPTo0YPHH3+c0aNHEx0dzVVXXUVqaioHDx5k2LBhxMTEEB8fX2iLxZQvK9rohoMfwIrrYfRqCBvgdjRVxvbt2+nevbvbYZg8Tp06RaNGjcjIyCAuLo5PP/2U1q0LW6/OBJPC/q9Z0cZgY5MSTZC4/vrrOXbsGOfOneO3v/2tJRFTKEskbvAXbrRJiaZqy+0XMaY41kfihvotQGpZi8QYUy1YInFDrdoQ0soSiTGmWrBE4pYGbSyRGGOqBUskbgkJtz4SY0y1YInELQ3CbU2SKqh27dr+UvIxMTE88cQTANx55535qvG6JbegYnVWsPJxoEp7ba699lqOHTvGsWPHeO655/zbAy1lP3XqVH8JnT59+hQ5498Nr7zyCgkJCRV+HkskbmkQDmfSIKfoUuKmaLNXpOBNSc+3zZuSzuwVKUW8IzANGjTwl47fuHEj999/PwAvvPBCpa9JUlOVNpGU1ocffkizZs0uSCQX48knn2Tjxo088cQTF1V2pqQKBMHCEolbGrQBFM4cdjuSoBTdrikJ8zb4k4k3JZ2EeRuIbte0Qs6XW/Yc4MUXX6RLly7ExcXx4x//2P8XX1paGmPGjKF///7079+fTz/9FHDKoN9xxx0MGzaMTp06MWvWLADuv/9+nn32Wf85csulnzp1ipEjR9KnTx+ioqL8s93zKvjXckJCgr/ESFEl3mfNmkWPHj2Ijo7mtttuu+CY2dnZ/PrXv6ZXr15ER0fzzDPPAE5xxNjYWKKiorjjjjv8hSU7dOjAAw88QExMDP369WP9+vVcffXVREZG+mtpLV++nCFDhnDdddfRtWtXpk2b5q+blbcFsXDhQqZOnVpoCf2iSvXv2bPHPzP/N7/5TaH/bk8++aT/ev/yl79kxIgRAHz88cdMnjzZ/3Okp6dz//33k5KSQkxMDPfccw/gTMgcO3Ys3bp1Y/LkyZQ0gXvIkCHs2uUUZC2sxH3uz/2rX/2K3r17s3r1al599VWio6Pp3bs3t99+O1D4ZyknJ4cOHTrkq2bcuXNnDh8+zPvvv88VV1xBbGwso0aN4vDhSv69oqrV7qtv375a5e1fpDoX1fS1bkdSZWzbtu2i9v90V5rGPrZY//LRlxr72GL9dFdamWOoVauW9u7d2/81f/58VVUdOnSorl27Vg8ePKiXXXaZZmRk6Llz5/TKK6/Un/3sZ6qqOnHiRF21apWqqn799dfarVs3VVV9+OGHdeDAgXrmzBlNS0vT5s2b67lz53T9+vU6ZMgQ/7m7d++u+/bt08zMTD1+/LiqqqalpWlkZKTm5OSoqmrDhg1VVXXZsmV63XXX+d/7s5/9TF9++WU9d+6cDhw4UI8cOaKqqvPnz9cf/ehHqqoaHh6uZ86cUVXVb7/99oKf/bnnntMxY8ZoZmamqqpmZGTo6dOntV27drpjxw5VVb399tv16aefVlXVyy67TJ977jlVVf3FL36hUVFReuLECT1y5Ii2bNnSH2f9+vU1JSVFs7KydNSoUfrmm2/m+1lUVd98802dMmWKqqpOmTLFv4+q6ogRI/Srr75SVdXPPvtMhw8frqqqN9xwg86ZM0dVVRMTE/MdL9fq1at17Nixqqp65ZVXav/+/fXcuXP6yCOP6OzZs/0/R1pamu7Zs0d79uzpf++yZcu0SZMmun//fs3OztYBAwb4/33zyhvvG2+8oXFxcbpt2za9/vrr9dy5c6qq+tOf/tQfK6ALFixQVdUtW7Zo586dNS0tzX/NVYv+LM2YMUNfeukl/7UYOXKkqqoePXrU/xn55z//qTNnzlRV1Zdfftn/+cyrsP9rQLKW8neuTUh0i01KLDNPZBjxV0Qw6+NdzBhxOZ7IsDIfM/fWVlE+//xzhg4dSvPmzQGnJHxuyfYlS5bkuyVz4sQJf1HE6667jvr161O/fn1atmzJ4cOHiY2N5ciRIxw6dIi0tDQuvfRS2rdvT2ZmJg8++CArV66kVq1aHDx4kMOHDwc0q7y4Eu/R0dFMnjyZm2++mZtvvvmC9y5ZsoRp06ZRp47za6F58+Zs2rSJjh07+utbTZkyhWeffZZf/OIXANx4440AREVFcerUKRo3bkzjxo2pX7++/y/nuLg4OnXqBMDEiRP55JNPLlhnpSjFldr/9NNP/WuX3H777dx3330XvL9v376sW7eOEydOUL9+ffr06UNycjKrVq3yt1SKExcXR7t27QCIiYlh7969XHnllRfsd8899/D444/TokULXnzxxSJL3IPTDzdmzBjAaRmNGzeOsDDns5v7uSrqszRhwgQee+wxfvSjHzF//nwmTJgAOGvcTJgwgdTUVM6dO0fHjh1L/NnKkyUSt/gTiXW4l5Y3JZ2kNfuYMeJyktbsY0BkaLkkk9LKycnhs88+K7SEe8Ey9LkFCseNG8fChQv55ptv/L8U5s6dS1paGuvWraNu3bp06NDBXzo9V3Gl1Ysq8f7BBx+wcuVK3n//fX7/+9/zxRdf+JNGaeX+XLVq1cr3M9aqVcv/M4pIvvfkPs+7veDPl6ukUvsFj11Q3bp16dixI6+88goej4fo6GiWLVvGrl27AqrrVtS/W0FPPvlkvuS4bNmyIkvch4SEULt27WLPW9RnaeDAgezatYu0tDTeffdd/y29u+++m5kzZ3LjjTeyfPlyHnnkkRJ/tvJkfSRuCWkFiCWSUsrtE0mcFMvM0V1JnBSbr8+kovTv358VK1bw7bffkpWVlW81v9GjR/v7FYCA1hmZMGEC8+fPZ+HChf6/uo8fP07Lli2pW7cuy5Yt4+uvv77gfZdddhnbtm3j7NmzHDt2jKVLlwJFl3jPyclh//79DB8+nD/96U8cP37c31rKddVVV/GPf/zD/8vy6NGjdO3alb179/rv+7/22msMHTr0Iq6Y04rbs2cPOTk5LFiwwP8XfatWrdi+fTs5OTm88847/v3zltAvrtT+oEGD8pXqL8rgwYN56qmnGDJkCIMHD2b27NnExsZekISKKt1fGkWVuC9oxIgRvPnmm2RkZPj3g6I/SyLCLbfcwsyZM+nevTuhoaFA/nL8c+bMKZef4WJYInFLrboQ0sKGAJfS5gPHSZwU62+BeCLDSJwUy+YDx8t03NOnT+cb/ps7aitX27ZtefDBB4mLi2PQoEF06NCBpk2dDv5Zs2aRnJxMdHQ0PXr08Hc4F6dnz56cPHmStm3b+m9BTZ48meTkZKKionj11Vfp1q3bBe9r374948ePp1evXowfP96/0mFRJd6zs7OJj48nKiqK2NhYZsyYQbNmzfId88477yQiIsLf8Ttv3jxCQkJ4+eWXGTduHFFRUdSqVYtp06Zd1DXt378/CQkJdO/enY4dO3LLLbcA8MQTT3D99dfj8XjyrbBYsIR+UaX2//a3v/Hss88SFRXFwYMHizz/4MGDSU1NZeDAgbRq1YqQkJBC14cJDQ1l0KBB9OrVy9/ZXlpFlbgvqGfPnjz00EMMHTqU3r17M3PmTKD4z9KECRNISkryt2DBGagxbtw4+vbt679NVplcKSMvIs2BBUAHYC8wXlW/LbDPcODpPJu6Abep6rslHb/Kl5HP9WEMXNIehr3vdiRVQrCUkc8trZ6VlcUtt9zCHXfc4f/laPJbvnw5Tz31FP/617/cDsXkUd5l5N1qkdwPLFXVzsBS3/N8VHWZqsaoagwwAvgeWFypUVY0m5QYlB555BFiYmLo1asXHTt2LLTj2piaxK3O9puAYb7Hc4DlwIVDLs4bC/xbVb+v2LAqWYNwOLbZ7SjMRXrqqafcDiFoDBs2rNB12E314laLpJWq5v4p/g3QqoT9bwNer9iQXNCgjTMhMad6zG4tD27cajWmJqmI/2MV1iIRkSVAYQPfH8r7RFVVRIr8yUQkHIgCPirhfHcBdwFERERcdLyuaBAOmg1n06FBSbm0+gsJCSEjI4PQ0NASh3UaYy6eqpKRkVHoEPWyqLBEoqqjinpNRA6LSLiqpvoSxZFiDjUeeEdVM0s43/PA8+B0tpcm5kqXd1KiJRLatWvHgQMHSEtLczsUY6qtkJAQ/yTL8uJWH8l7wBTgCd/3C4sJnTcReKAygqp0IXknJca6GkpVkDt5zBgTXNzqI3kCuEpEdgKjfM8RkX4i8kLuTiLSAWgPrHAjyAp3SRvnu43cMsYEMVdaJKqaAYwsZHsycGee53uBtpUXWSUL8XUh2ex2Y0wQs5ntbqpdH+o1t8KNxpigZonEbQ3CrUVijAlqlkjcZonEGBPkLJG4rUEbSyTGmKBmicRtufW2bEa3MSZIWSJxW0g45GTC2Qy3IzHGmFKxROK23NntNpfEGBOkLJG4rYFvUqL1kxhjgpQlErfZ2u3GmCBnicRteQs3GmNMELJE4rY6l0DdJtYiMcYELUskVYHNJTHGBDFLJFWBrd1ujAlilkiqgpBw+N76SIwxwckSSVVgs9uNMUHMEklV0CAcss9A5nG3IzHGmItmiaQqsEmJxpggZomkKrBJicaYIGaJpCqwSYnGmCBmiaQqsBaJMSaIWSKpCuo0hjoNLZEYY4KSJZKqQMSZS2KTEo0xQcgSSVXRINz6SIwxQckSSVXRINxubRljgpIlEpfNXpGCNyU9X+FGb0o6s1ekuByZMcYExhKJy6LbNSVh3ga8xyMh6xTeHftJmLeB6HZN3Q7NGGMCUsftAGo6T2QYiZNiSXjtDPFNJpM0fyuJ8f3wRIa5HZoxxgTEWiRVgCcyjPje9Zl1ZCLxUWpJxBgTVIpNJCLSTkR+LSKLRGStiKwUkedE5DoRKVMSEpHmIvJfEdnp+35pEfv9WUS2ish2EZklIlKW81ZF3pR0kr5QZrR8naTNmU6fiTHGBIkik4GIvAy8BJwD/gRMBKYDS4BrgE9EZEgZzn0/sFRVOwNLfc8LxuABBgHRQC+gPzC0DOescrwp6STM20DipL7MbLeIxLj1Tp+JJRNjTJAoro/kL6q6pZDtW4C3RaQeEFGGc98EDPM9ngMsB+4rsI8CIUA9QIC6wOEynLPK2XzgOImTYp3bWTu74AlZQ+KkBDYfOG63uIwxQaHIRJI3iYhIAyBCVXfkef0csKsM526lqrkTJ74BWhUSw2oRWQak4iSSRFXdXtjBROQu4C6AiIiy5LfKNW1o5PknTbpAxud4IsMsiRhjgkaJ/RwiciOwEfiP73mMiLwXyMFFZImIbCnk66a8+6mq4rQ+Cr7/cqA70A5oC4wQkcGFnUtVn1fVfqrar0WLFoGEV/U07gLf7YXss25HYowxAQtk+O/DQBzOrSdUdaOIdAzk4Ko6qqjXROSwiISraqqIhANHCtntFuAzVT3le8+/gYHAqkDOH3QadwbNgVO7oWl3t6MxxpiABDLyKlNVC64BWx6Li78HTPE9ngIsKmSffcBQEakjInVxOtoLvbVVLTTu4nw/udPdOIwx5iIEkki2isgkoLaIdBaRZwBvOZz7CeAqEdkJjPI9R0T6icgLvn0WAinAF8AmYJOqvl8O566amnR2vp/8yt04jDHmIgRya+tu4CHgLDAP+Ah4vKwnVtUMYGQh25OBO32Ps4GflPVcQaPepVC/BZywRGKMCR4lJhJV/R54SER+73tsKlKTLtYiMcYElUBGbXlEZBvwpe95bxF5rsIjq6kaWyIxxgSXQPpIngauBjIAVHUTUJYZ7aY4jbs45eQzT7odiTHGBCSgelmqur/ApuwKiMWAc2sLbOSWMSZoBJJI9vtqXqmI1BWRX1Odh+C6LXcIsHW4G2OCRCCJZBrwM5yZ5QeBGN9zUxEa+UqmWD+JMSZIFDtqS0RqA39T1cmVFI+p0wAuibBEYowJGsW2SHzzOC7zVfo1laVJF+sjMcYEjUAmJO4GPvUVavwud6Oq/rXCoqrpGneBvfNAFarfOl7GmGomkESS4vuqBTT2bSuPWlumKI27QOYxOJsOIUFaydgYU2MEkki2qeqbeTeIyLgKisdAniHAX1kiMcZUeYGM2nogwG2mvNgQYGNMECmyRSIiPwCuBdqKyKw8LzUBsio6sBqt4WVQq66N3DLGBIXibm0dApKBG4F1ebafBH5ZkUHVeLXqQKNOlkiMMUGhuDXbN4nIFuBqVZ1TiTEZcG5v2a0tY0wQCGQeSXubR+KCxl3g1C5n6V1jjKnCAhm1tQebR1L5mnSB7DPw/QFoGOF2NMYYU6TSziMxFa1xniHAlkiMMVVYICskPloZgZgC8g4Bbj3K3ViMMaYYJSYSEWkB3Av0BEJyt6vqiAqMyzQIhzoNbeSWMabKC2RC4lycZXY7Ao8Ce4G1FRiTAafGlo3cMsYEgUASSaiqvghkquoKVb0DsNZIZWjc2VokxpgqL5BEkun7nioi14lILNC8AmMyuRp3ge/2QPY5tyMxxpgiBTJq63ERaQr8CngGp0SKzWyvDE26OPNITu2Gpt3cjsYYYwoVyKitf/keHgeGV2w4Jp+8Q4AtkRhjqqjiijY+QzHrjqjqjAqJyJzXuLPz3VZLNMZUYcW1SJLzPH4UeLiCYzEF1W8O9cOsw90YU6UVV7TRX6hRRH5RnoUbRaQ5sADogDOceLyqflvIfn8CrvM9/V9VXVBeMQQNGwJsjKniAhm1BeW/tO79wFJV7Qws9T3PR0SuA/oAMcAVwK9FpEk5x1H1NeliLRJjTJUWaCIpbzcBuS2cOcDNhezTA1ipqlmq+h2wGbimcsKrQhp3gdOHIPOU25EYY0yhikwkInJSRE6IyAkgOvdx7vYynreVqqb6Hn8DtCpkn03ANSJyiYiE4YwYa19MvHeJSLKIJKelpZUxvCrEOtyNMVVccX0kZar0KyJLgNaFvPRQgfOoiFxw60xVF4tIf8ALpAGrgexi4n0eeB6gX79+5X0rzj15hwA3j3U3FmOMKURxw38bqWqx91OK20dViyxZKyKHRSRcVVNFJBw4UsQxfg/83veeeUCN6iyYvSKF6PBQPODvcPempLP5wHGmDY10NTZjjMlVXB/JIhH5i4gMEZGGuRtFpJOI/I+IfETp+yzeA6b4Hk8BFhXcQURqi0io73E0EA0sLuX5glJ0u6YkLNiGN3MknPwKb0o6CfM2EN2uqduhGWOMn6gWfRdIRK4FJgODgEuBLGAH8AHwoqp+U6qTOgniDSAC+Bpn+O9REekHTFPVO0UkBFjve8sJ3/aNgRy/X79+mpycXPKOQcCbkk7CK8uIb5NMUvooEifF4okMczssY0w1IyLrVLVfad5bbIkUVf0Q+LBUURV/3AxgZCHbk4E7fY/P4IzcqtE8kWHEX36IWduHMGN4e0sixpgqx63hvyZA3pR0kvZ0YkbL10n6bA/elHS3QzLGmHwskVRhuX0iibdGMLP1XBKHHyFh3gZLJsaYKsUSSRW2+cBxp08kKhrqNcdTbyWJk2LZfOC426EZY4xfIGu2/wV4SVW3VkI8Jo98Q3zDBkDGZ3gGhFk/iTGmSgmkRbIdeF5E1ojINN8iV6ayhQ2E49vg3DG3IzHGBJnZK1IuuCXuTUln9oqUcjl+iYlEVV9Q1UHAD3Gq9W4WkXkiYotcVaawAc73jLXuxmGMcU1pE0J0u6b5+lfLe05aQH0kIlIb6Ob7SsepgzVTROaXSxSmZM37AwLpn7kdiTGmHJQmKZSYEDQHsr6Hsxnw3X44sQOObsDTZAeJ1ygJr33GX998h4TXVpM4NBVP9gLY/lfY+scy/SyB9JE8DdyAU+79D6r6ue+lP4nIjjKd3QSuXlNo2gMyLJEYU9XMXpFCdLum+fovSypn5CSF9SSO64KnHXhT0kh4N43EawS+XgdZJyHzhO/LeezJOklij0YkvHKM+PA1JB3qT2Ln5/Fs3ATJ30P26SJj9ADxTSYza91EZrR8Hc+BuXCgfH7+EhMJTvn23/hKuRcUVz5hmICEDYD974AqiLgdjTHVTmkSAviSwtz1JI6JwNPmDN5daSR8cJbE4WmwZT6cO+q0Es5mOI/PZeA5m0Fi63YkvHYP8aEfkpRxLYmXPYEn5Qso2CipfQnUbQJ1G+Np2IT4dq2YtWc4MzpvxtP1MqjdHepc4uxXp4Hv+yX5vnsP1SVp52lmDGpC0oZ4BvT+DZ7IUKhdH2rVh8khpb5ugSSSTUBXyf+L6zjwtaraONTKFDoAUl6Ek7ugSWe3ozGm2sm9dZRbisibku5LEG0hbTWcSYXTqc4aQXm+e04fIrF1OAnz7s+fFA5+AQeBOg2hXqizfHa9UGjWG+qH4rm8OfGNspi1aSIz+mXiGfQU1GnsSxpO4qBOI6h1/le1NyWdpLUbmDEigqQ19Rgw7McljuT0pqST8OEGEuP744kMY0AP3xy1SWF4Isu+XmAgieQ5nJUKNwMC9AK2Ak1F5KeqWqMKKboqt8M9fbUlEmNKEHDrIus7OLUHTu3Gk7mbxL7HSHjlOPGtvSSl9icx4o94Nn2R/+BSG0JaQ4M20LADhHnwdAknvqkwa8NEZlxRF8/weVA/FOo1d/7qL4Q3JZ2kXblJYR8DYouvpeefpOxLdAMiQ/M9L4p/TppvH09kmH9OWnlMJwgkkRwC/id3HomI9AAeA+4F3qaGVeR1VZPuzl8rGZ9Bpx+6HY0xVZq/dTExBk+bTLzbviLhXydJHLQDvJvg1G7n60z+2rOeOo2JD7+LWftGMqPbTjz9xkODnztJo0G4871+GEj+sUrelHSSvsqTFKJbl3tSKG1CKOy2nCey/OakFVv9F0BEtqhqr8K2ichGVY0pl0jKUXWq/nuBpaOce6w/WF/yvsZUAxfVb3EmHY5thmNfwPEv8O4+QcLWW4hv/sH5202NtsAl7aFxJDTq5Hw17OR/7t2vJLy+gfgrnIQQSMXtgkmh4PMy/1yVoMKq//psE5G/A7lDfSf4ttUHMktzUlMGYQNh2x+d5nidhiXvb0yQK7Lf4obGsPsTJ2nkJo+8rYv6YXhaRhN/Lp1Z2ycyI07wjHoLGl4GtesVei5vSjoJr1fOraOKbiVUpkBaJA2A6cCVvk2f4vSbnAEuKWkVRTdU6xbJwQ9gxfUwagW0HOJ2NMZUvOxzeDetIWHRUeIjtpK0J9JpWTTc6LxeOwSa9IBmUdAs2vc9CkJa4d2dQcK8wFsXVa2VUJnK0iIpaWGr2sASVQ2qWezVOpGcSYe3W0DMn6DHvW5HY8xFCegX9dkMSPNC+qeQ9qlTzSHnLH/9ZjKzjkxkxuXrmRmXeT5xNLocatW+4Fylud1Uk1XkwlbZIpIjIk1tqG8VERLm/MexGe4mCF1wm2pXOglzk0kckQ5r/ugkjhNfOjvXqguX9oEuP8N79kqSdl3CjBEdnCGvDWPxRBSfDCp6pJI5L5BbW4uAWOC/gH9SoqrOqNjQSq9at0gAvLfDN0vglkM2MdEEF1W8X2wk4a19xLffTNLeziRG/AFPoy+cYbJhHmgxCFp4nLJAdRpYy6KSVHRn+9u+L1NVhA2AvUnw/X5oGOF2NMYUL/sMHF4Bhz6EQx/gOZVCfNPJzNo1kRldt+EZPMNJHk26XjCkFqxlEQxKTCSqOsfX4R6hqlZbqyrwT0z8zBKJcU2x/R396vkSx4dO6zn7e6dTvNVIvE0fJGlXG2aM6OjcppJYPE3dmwNhyq7E6r8icgOwEfiP73mMiLxXwXGZ4jSLdv5Tpq92OxJTg+WrRJuThTd5OQmvfkL0wV/DoghYOw2ObYJOU2HoBzDmKN72r5Cwsj2Jk/sxc3RXEifF2vLR1UAgt7YewSnOuBxAVTeKSKcKjMmUpFZdaN7POtyNqzwdm5J41RkS5qwgPvTfJB0ZQWKHJ/G0bApt/gxtrnUqVufpx9t84JDdpqqGAkkkmap6vEDRxpwKiscEKmwg7PgbZJ8tso6PMeVOFTLWwJ4k2Dcfz9kM4sPuZNahW5jR9xyem5ZBvWZFvt1uU1VPgSxstVVEJgG1RaSziDwDeCs4LlOSsAGQcw6+3eh2JKYmOJkCXzwK73eBxQMh5QWnv6PTeyQdG8eMEZeT9GUjvPuz3I7UuCCQRHI30BM4C7wOnAB+UYExmUCE5ulwN6YMilypb+kXsPPvsHgQvH+5k0gatocrXoRbD+MNf5aE/4aQOLmP9XfUcIGs2f69qj6kqv1VtZ/v8ZnKCM4U45I2TuE5WzHRlFG+TvPsM3hXv0PCnOVE754Ca6dD5nGIeQJu+hpGfgyRd0C9psUOyzU1SyATErsAvwY6kKdPRVVHVGhkZVDtJyTm+mS8Uz7ipj1uR2KCnHfzRhIW7iE+9AOn07zz83ii+0LH251FmGzia7VXlgmJgdzaehPYAPwGuCfPV6mJyDgR2eorv1Jk4CJyjYjsEJFdInJ/Wc5Z3cxekYL33HD4bi+cdiqeelPSmb2i4BqdxhRBFQ59BMuuxbMllvhL32VW6i3E970Uzw+XQp+/wKUxlkRMiQJJJFmq+ndV/VxV1+V+lfG8W4BbgZVF7eArGPks8AOgBzDRt6iWwXc7YtVleE9FQcYaf9mI6HZN3Q7NVHVZ3zl9Hx/0gOXXwLfr8bb4C0knJzmd5lvr4N3zrdtRmiASyPDf90VkOvAOToc7AKp6tLQnVdXtAFL8XzpxwC5V3e3bdz5wE7CttOetTpz70TEkvHI/8R8fJOlrqz1kSvDd1/BVIux6ATKPQfO+MPBVvFmjSJi/hcTJF7cGhzG5AkkkU3zf897OUqCiJyW2BfbneX4AuKKonUXkLuAugIiImlE2xNO5DfER25m1bQAzRkTYf3pzYdkSVbzrlrF5y0qm1f9fQKD9GOj6c2cukgibV6TYJEFTJoHU2upYmgOLyBKgdSEvPaSqi0pzzOKo6vPA8+B0tpf38asib0o6San9mdHydZJWT2ZAZKj9x6/h/GXab+uJp9ZHeNe8T8LWsSRGLoHu90Ln6c4Q3jxskqApqyITiYjcq6p/9j0ep6pv5nntD6r6YHEHVtVRZYztIJD3E9/Ot82QZ9Ge8d3wbJzHgKg+JMyrY7cjajjPZZeQOGgXCXMyiG++lKSjE0i8+gwez2Koc4nb4ZlqqrjO9tvyPH6gwGvXVEAsBa0FOotIRxGp54vHikX6+Mfw9+gCLQbhyZxjY/hrsqzT8OXT8F4nPN9MJ779VmYdmUj8kBg8Q6ZYEjEVqrhEIkU8Luz5RRGRW0TkADAQ+EBEPvJtbyMiHwKoahaQAHwEbAfeUNWtZTlvdTJtaOT5lkf7MXBsM54W31b7daVNAVmn4cv/g/c6wfqZ0LQn3i4fk3RkiDMCa80+m2luKlxxiUSLeFzY84uiqu+oajtVra+qrVT1at/2Q6p6bZ79PlTVLqoaqaq/L8s5q7X2tzrf97/lbhym8mSdhh2z4P1IWP9LaNodRq3A22EBCf/OInFSrJUtMZWmuETSW0ROiMhJINr3OPd5VCXFZwLRMAJC4yyRVCNF1r9atgN2POMkkHU/h8ZdYOQyp3RJyyFWtsS4osjOdlWtXZmBmDJqPwY23gen9kKjDm5HY8rIP/oqd53ynYdISEomseP/QeoyaDkEPPOg1bB877MRWMYNgcwjMcEgN5Hsfxu6z3Q7GlNGuS2JhLnrie+SRtKW2iRG/AFP22YQ/TG0HGalS0yVEUiJFBMMGkc6dZHs9lb1oIqn7grim7/PrI3NiG+3Cc+NT8OoFdBquCURU6VYIqlO2o+BdC98b9NtglrGWlgyBO9/HiXpmyuZESckpY3A+51V4TVVkyWS6qT9WOf7/nfcjcOUznf7wBsPH8XhPViLhEOPkzhlGDNvvdZGX5kqzRJJddK0GzTtYbe3gk3mSdj0EPyrq/Nv1/NBNkc8R+LtHjydWwE2+spUbdbZXt20HwNbfw9njkBIS7ejMcXJyYLdL8Hm38GZw9BhMvT+AzSMYFohu9voK1NVWYukumk/FjQHDrzrdiTGp9A5IWv+zeznfw6f/wQad4bRa8CT5MwJMibIWCKpbppFQaPLYd9CtyMxPvnWRD+2Fe/CO0l471uiG6bAlQth1EoIi3M7TGNKzW5tVTciEDEGtv8Fzh6F+s3djqjG80SGkTjuchLmrCT+0ndIyriWxJHH8AxdBLXrux2eMWVmLZJqaPahH+A92R0Oni+WbOu5u0RzYNcLeLb2d9ZEP3wb8YO64xnxU0siptqwRFINRXfpScK+B/Fu8ALYeu5uyUiGxQPh8x/jzbqapBMTnYq8yWk2jNdUK3ZrqxryXB5G4qCdJHwyjPiGm0lae9gWvKpMZzOc4by7noeQlngjXidhWSiJ8bYmuqmerEVSTXn6X0V86IfMWr6f+CtsPfdKoTmw65/OfJCUF5x10a/fwebs/laR11Rr1iKpprzHLifp25uY0fYDkj672dZzr2gZyZD8M8j43KnM2y/RGUEHTBt64S1FmxNiqhNrkVRD3pR0El7fQOINTZgZ+ncShx6y8hrl5II5IWcz8H7wELNfe8IpcTIwCUYu9ycRY2oCSyTVkH9xo/6jIXQAnm8fJvG2KLuVUg78c0J2pcGuf+KdexMJ3p5Ed+0NN+yAjpOtsKKpcUS1TKvmVkn9+vXT5ORkt8OoGg79B5b/AOL+CZff6XY01YJ3g5eEtw8Qf+l7JH17E4ljO+Lp3c/tsIwpExFZp6ql+iBbi6S6C78amveHrX+AnEy3owlu576FtdPxbL+S+BYfM+vIROIHR1sSMTWeJZLqTgSifgff7YG9c92OJjipwu458H5X2PUPvJc+TNKxW5w5IWv2Wd+TqfEskdQEba6DS2Nhy++dirMmcMe+gCVD4LOp0Lgz3u5eEpI9JE7uy8zRXW2dEGOwRFIziECv38GpXfD1625HExwyT8K6mfDvWDjxJVzxIly1is3Hw2xOiDEFWGd7TaHq/FLMPg3XbYNatd2OqGpShX1vwPqZcDoVLr/LWSPEil+aas46203JRKDXb+HkV84vyhqu0DVCNm9g9ksPwKe3QUhrGP0ZxM22JGJMCSyR1CCzd/fGqzfAlv+FnGyg5lYFzrdGSNb3eBf/iYQF24mWldDvWbj6c1sjxJgAWSKpQaLbNyNh5114D9WB/W/V6KrAnsgwEifGkvDaZ/z17/eQsKI9iVesxzPxHegy3W79GXMRXEkkIjJORLaKSI6IFHlPTkReEpEjIrKlMuOrrjyRYSROjiNh30P89V9eEuaur7kVaI9uwLN3LPFN5jPr4LXE92uB58anoEErtyMzJui41SLZAtwKrCxhv1eAayo8mhrE07kl8X0aMWv/VcS3XI4nIsTtkCrX6VT47A74T1+8+7NJOjGeGcM7kbQFG8JrTCm5kkhUdbuq7ghgv5XA0UoIqcbwpqSTtLUeM/qeI2l/L7zv/BSyvnM7rIqXddqZ3f9+Z9ibhLf5/5Kw/zck3u5h5tXdbT6IMWVgfSQ1SG6fSOKkWGaOu4XEa+uQsOkHeN/+KWR973Z4FUMV9s6Hf3VzFptqPRqu28bmBreROLmvzQcxphxU2HokIrIEaF3ISw+p6qIKON9dwF0AERER5X34asFfFTj3l+eg8SSygM3Jp/GsuAGGvg91LnE5ynKU/jms/yWke+HSGBg4B1oNA2Da0At3tzVCjCmdCkskqjqqoo5dxPmeB54HZ0JiZZ47WEwbGnnBNs+gCXjaZMLqH8LKm2DIe1CngQvRld7sFSlEt2t6Pgl8tx/v0qfZvHsf0yJ2O7PSO06xkVjGVBC7tWWgYzwMeAW+Weokk6zTbkd0UfxzQr46AJsfxvv6rSSs6Ud0j/5ww1cQeYclEWMqkFvDf28RkQPAQOADEfnIt72NiHyYZ7/XgdVAVxE5ICL/40a8NUKnH8KAl+CbJbDqFsg+43ZEAfO0r0Oi50sSXv2Evy5JIWHf/SRO7I1n9H1Qt7Hb4RlT7bmyZruqvgO8U8j2Q8C1eZ5PrMy4arxOU0FzYM3/wMpbYcg7ULu+21EV7fsD8OX/wa5/4Mk6RXzEb5m1eyIzRlyOp1dXt6MzpsawW1smv8g7nNUUU/8Nq8ZA9lm3I7rQsS2weios6gg7/g/a3oi3x2ckHR5sa4QY4wJXWiSmirv8TiAHPv8JrBoLgxe63zJRhbRVsO3PcOgDqH0JdJ4O3X6J93Aj/7BmT2QYAyJD8z03xlQsa5GYwl1+F/T/Oxz6F7Nf/T3end/ke7kiij0WWpF35xFmL3oXFg+EJUMhYw1EPQY374N+f4NGHS4c1mxzQoypVJZITNE6T4N+zxKd+S4Jr32Cd+dhgAor9pi/Iu9pvCteIWHOMqIP/w7OpkH/5+CmfRD1W6gf6n/ftKGRF7Q8PJFhhQ53NsaUP7u1ZYrXZToezSFxxWMkvPY74q/oSNL6o+V/20gVT4sMEoemkjDnBPFhH5F0eBiJvRbiGfRbaHerDeE1poqyRGJK1jUBDznEf/Aus1ZNZEab9/DsexpO9YHmfeDSPtDwMmfxLJ8LJgnitGQ2HzjutBRysuDbDZD2CRxZ5Xw/m4YHiA/7MbMO3cSMK+rgufmNfMc1xlQ9lkhMQLx1JpF0sjMzemeQtP1qBqS+huebP4FmOTvUu9RJKL7EEn1pNxLmpZA4qQ+eyDC8Xx0k4fWNJHp2wMf/hvTV54tFNuwIbX4ALQbj/b4vSYvSmTEigqQ1+xgQnWEd5sZUcZZITIn8xR7j+zujolLSSZjXmMTbnsXT/BB8ux6O+r52zIKcs3iAxDZxJLzya+LbJJN0oDeJlz2BJ20LNIuGjlOh5WBocSVc0vb8eRbZ6Ctjgo2oVr+yVP369dPk5GS3w6g2SrxNlVdOJhzf7k8uf01uyKy9VzKj535mjoiAFh6o16zs5zHGlCsRWaeqRS40WOx7LZGYipLbkom/wrlNZS0LY6qusiQSG/5rKkS+tU9Gd7WFo4ypxiyRmAphkwSNqTns1pYxxhi7tWWMMcY9lkiMMcaUiSUSY4wxZWKJxBhjTJlYIjHGGFMmlkiMMcaUiSUSY4wxZWKJxBhjTJlYIjHGGFMmlkiMMcaUiSUSY4wxZWKJxBhjTJlYIjHGGFMmlkiMMcaUiSUSY4wxZeJKIhGRcSKyVURyRKTQ+vci0l5ElonINt++P6/sOI0xxpTMrRbJFuBWYGUx+2QBv1LVHsAA4Gci0qMygjPGGBO4Om6cVFW3A4hIcfukAqm+xydFZDvQFthWGTEaY4wJjCuJ5GKJSAcgFlhTzD53AXf5np4VkS2VEFowCAPS3Q6iCrDrcJ5di/PsWpzXtbRvrLBEIiJLgNaFvPSQqi66iOM0At4CfqGqJ4raT1WfB573vSe5tGsPVzd2LRx2Hc6za3GeXYvzRCS5tO+tsESiqqPKegwRqYuTROaq6ttlj8oYY0x5q7LDf8XpQHkR2K6qf3U7HmOMMYVza/jvLSJyABgIfCAiH/m2txGRD327DQJuB0aIyEbf17UBnuL58o86aNm1cNh1OM+uxXl2Lc4r9bUQVS3PQIwxxtQwVfbWljHGmOBgicQYY0yZBG0iEZFrRGSHiOwSkfsLeb2+iCzwvb7GNxelWgrgWkwVkbQ8fU13uhFnZRCRl0TkSFHziMQxy3etNotIn8qOsbIEcC2GicjxPJ+L31V2jJUhkHJLNeVzEeC1uPjPhaoG3RdQG0gBOgH1gE1AjwL7TAdm+x7fBixwO24Xr8VUINHtWCvpegwB+gBbinj9WuDfgOCU3lnjdswuXothwL/cjrMSrkM40Mf3uDHwVSH/R2rE5yLAa3HRn4tgbZHEAbtUdbeqngPmAzcV2OcmYI7v8UJgpBRXkyV4BXItagxVXQkcLWaXm4BX1fEZ0ExEwisnusoVwLWoEVQ1VVXX+x6fBHLLLeVVIz4XAV6LixasiaQtsD/P8wNceDH8+6hqFnAcCK2U6CpXINcCYIyvyb5QRNpXTmhVUqDXq6YYKCKbROTfItLT7WAqWjHllmrc56KE0lMX9bkI1kRiLs77QAdVjQb+y/mWmqnZ1gOXqWpv4BngXXfDqViBlluqCUq4Fhf9uQjWRHIQyPtXdTvftkL3EZE6QFMgo1Kiq1wlXgtVzVDVs76nLwB9Kym2qiiQz06NoKonVPWU7/GHQF0RCXM5rAoRQLmlGvO5KOlalOZzEayJZC3QWUQ6ikg9nM709wrs8x4wxfd4LPCx+nqSqpkSr0WBe7034twXraneA37oG6UzADiuzpIFNY6ItM7tNxSROJzfB9Xuj60Ayy3ViM9FINeiNJ+LoCgjX5CqZolIAvARzqill1R1q4g8BiSr6ns4F+s1EdmF0+F4m3sRV5wAr8UMEbkRZ7GwozijuKolEXkdZ9RJmDhleB4G6gKo6mzgQ5wROruA74EfuRNpxQvgWowFfioiWcBp4LZq+sdWbrmlL0Rko2/bg0AE1LjPRSDX4qI/F1YixRhjTJkE660tY4wxVYQlEmOMMWViicQYY0yZWCIxxhhTJpZIjDHGlIklEmNMqYjI73xld65xOxbjLkskxpjSGgr8APgftwMx7rJEYqoMEblZRFREuuXZFiMi15bjOV4QkR7ldbzKUPAaiMiNUsi6M6U8drZvzYktIvK+iDQrYr8GIrJCRGrn2bwfp7jhv/Ls10JE/lMesZngYYnEVCUTgU9833PF4Mw4Lheqeqeqbiuv45UXXz24osSQ5xqo6nuq+kQ5nfq0qsaoai+cqgc/K2K/O4C3VTU7z7ZGwCqcOna5saUBqSIyqJziM0HAEompEnzVSK/EuU1ym29bPeAxYILvr+YJItJcRN713Zv/TESiffs+IiJzRGSViHwtIreKyJ9F5AsR+Y+vUB0islxE+vkeXyMi633lspcWElNPEfncd+7NItLZtz0+z/Z/5P6VLiKnRORpcVaeWyoiLXzbfywia33neUtELvFtf0VEZovIGuDPIhInIqtFZIOIeEWkaxHXYKqIJPqO0UFEPvbFt1REIvIce5bvOLtFZGwA/wyrKbp0+mRgUZ5r0xRn0azpvtfyereQbaYas0RiqoqbgP+o6ldAhoj09S3U9Tuc1S1jVHUB8CiwwVcS/0Hg1TzHiARG4BSmTAKWqWoUTr2g6/KezPdL/p/AGF+57HGFxDQN+JuqxgD9gAMi0h2YAAzybc/m/C/Nhjj1zXoCK3BqW4Hzl3x/33m2k79PoR3gUdWZwJfAYFWN9f3cfyjiGuT1DDDHdz3mArPyvBaOk5yvB4ptwfiS4UguLH6am9A7qerePJvHAYtUdQtQPzfJ+iQDg4s7n6leLJGYqmIizuqO+L5PLGK/K4HXAFT1YyBURJr4Xvu3qmYCX+AUsMy9V/8F0KHAcQYAK1V1j+9Yha0kuBp4UETuw1mf4TTOL9u+wFpf0buROMscA+QAub/ok3yxAvTytZS+wEk6eRcKejPP7aKmwJvirLH+dIH9ijIQmOd7/FqecwK8q6o5vlt5rYp4fwPfz/GNb5//FrJPGHCswLbJwOu+x6+TvwVyBGgTQOymmgjK6r+mehGR5jgtiSgRUZwkoCJyz0Ue6iyAquaISGaeiqU5lOKzrqrzfLedrgM+FJGf4KzpPUdVHwjkEL7vrwA3q+omEZmKU5E313d5Hv8vTivqFnFWr1t+sTEXcDbP46KWmT6tqjG+220f4fSRzCq4DxDiP5BIO8ADvCFOtfE6OD/HI75dQnzvMTWEtUhMVTAWeE1VL1PVDqraHtiDc3vkJNA4z76r8P31KyLDgPRSrnb3GTBERDr6jtW84A4i0gnYraqzcPoHooGlwFgRaZn7PhG5zPeWWr6fBWASzsABfPGn+vppius7aMr5xZSm5tle8Brk5eX8EgmTca7PRVPV74EZwK8Kdvyr6rdAbRHJTSaTgad8/1YdVLUdcFictSsAugBbShOHCU6WSExVMBF4p8C2t3zblwE9cjuacf7q7Ssim3Hu+0+hFHyji+4C3haRTZy/JZXXeGCL79ZPL+BV322i3wCLfTH8F6cvApy/yuN8t6ZG4HSSA/wWZ13sT3H6QYryZ+CPIrKB/C2ogtcgr7uBH/liuR34eYk/fBFUdQOwmcJvKy7m/G2zyVz47/UOEO97PBz4oLRxmOBj65EYU05E5JSqNnI7joogIn2AX6rq7QHsuxK4ydeSMTWAtUiMMSVS1fXAMsk/IfECvtFwf7UkUrNYi8QYY0yZWIvEGGNMmVgiMcYYUyaWSIwxxpSJJRJjjDFlYonEGGNMmfw/POQaqPuPcUYAAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "The minimum energy is E_g(0.75)=-1.137117274609139 Hartree and is attained for R_min =0.75 Å\n" ] } ], "source": [ "plt.plot(np.array(radius3),E3_th,'orange')\n", "plt.plot(np.array(radius3),E3,'x')\n", "plt.ylabel('Energy (Hartree)')\n", "plt.xlabel('Atomic separation R (Å)')\n", "plt.legend(['Theoretical eigenvalues', 'Eigenvalues computed with Perceval'])\n", "plt.show()\n", "\n", "\n", "\n", "plt.plot(np.array(radius3),E3_th,'orange')\n", "plt.plot(np.array(radius3),E3,'x')\n", "plt.axis([0,2.5,-1.2,-0.6])\n", "plt.ylabel('Energy (Hartree)')\n", "plt.xlabel('Atomic separation R (Å)')\n", "plt.legend(['Theoretical eigenvalues', 'Eigenvalues computed with Perceval'])\n", "plt.show()\n", "\n", "min_value=min(E3)\n", "min_index = E3.index(min_value)\n", "print('The minimum energy is E_g('+str(radius3[min_index])+')='+str(E3[min_index])+' Hartree and is attained for R_min ='+str(radius3[min_index])+' Å')" ] }, { "cell_type": "markdown", "id": "c242b755", "metadata": {}, "source": [ "## References\n", "\n", "> [1] A. Peruzzo, J. McClean, P. Shadbolt, M.-H. Yung, X.-Q. Zhou, P. J. Love,A. Aspuru-Guzik, and J. L. O’Brien, “A variational eigenvalue solver on a photonicquantum processor”, [Nature Communications](https://www.nature.com/articles/ncomms5213) 5, 4213 (2014).\n", "\n", "> [2] P.J.J. O’Malley et al., \"Scalable Quantum Simulation of Molecular Energies\", [Phys. Rev. X](https://journals.aps.org/prl/abstract/10.1103/PhysRevLett.73.58) 6, 031007 (2016)\n", "\n", "> [3] J.I. Colless, et al., \"Computation of Molecular Spectra on a Quantum Processor with an Error-Resilient Algorithm\", [Phys. Rev. X](https://journals.aps.org/prx/abstract/10.1103/PhysRevX.8.011021) 8, 011021 (2018)\n", "\n", "> [4] J. A. Nelder and R. Mead, “A simplex method for function minimization”, [The computer journal](https://people.duke.edu/~hpgavin/cee201/Nelder+Mead-ComputerJournal-1965.pdf) 7, 308–313 (1965)." ] } ], "metadata": { "language_info": { "name": "python" } }, "nbformat": 4, "nbformat_minor": 5 }